diff --git a/.github/workflows/osx_arm64.yml b/.github/workflows/osx_arm64.yml new file mode 100644 index 000000000..ae220c46c --- /dev/null +++ b/.github/workflows/osx_arm64.yml @@ -0,0 +1,1203 @@ +jobs: + stage_0_job_0: + name: rostopic rosmsg sensor-msgs diagnostic-analysis + runs-on: macos-14 + strategy: + fail-fast: false + needs: [] + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rostopic ros-noetic-rosmsg ros-noetic-sensor-msgs ros-noetic-diagnostic-analysis + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rostopic ros-noetic-rosmsg ros-noetic-sensor-msgs + ros-noetic-diagnostic-analysis + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_1_job_1: + name: rosnode rosservice map-msgs image-transport joint-state-publisher + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_0_job_0 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rosnode ros-noetic-rosservice ros-noetic-map-msgs ros-noetic-image-transport + ros-noetic-joint-state-publisher + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rosnode ros-noetic-rosservice ros-noetic-map-msgs + ros-noetic-image-transport ros-noetic-joint-state-publisher + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_1_job_2: + name: object-recognition-msgs pcl-msgs stereo-msgs image-geometry cv-bridge + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_0_job_0 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-object-recognition-msgs ros-noetic-pcl-msgs ros-noetic-stereo-msgs + ros-noetic-image-geometry ros-noetic-cv-bridge + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-object-recognition-msgs ros-noetic-pcl-msgs ros-noetic-stereo-msgs + ros-noetic-image-geometry ros-noetic-cv-bridge + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_1_job_3: + name: gazebo-msgs camera-calibration-parsers rqt-topic hls-lfcd-lds-driver rqt-robot-steering + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_0_job_0 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-gazebo-msgs ros-noetic-camera-calibration-parsers ros-noetic-rqt-topic + ros-noetic-hls-lfcd-lds-driver ros-noetic-rqt-robot-steering + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-gazebo-msgs ros-noetic-camera-calibration-parsers + ros-noetic-rqt-topic ros-noetic-hls-lfcd-lds-driver ros-noetic-rqt-robot-steering + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_1_job_4: + name: laser-proc mavros-msgs gps-common + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_0_job_0 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-laser-proc ros-noetic-mavros-msgs ros-noetic-gps-common + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-laser-proc ros-noetic-mavros-msgs ros-noetic-gps-common + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_2_job_5: + name: actionlib roswtf joint-state-publisher-gui moveit-msgs dynamic-reconfigure + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_1_job_1 + - stage_1_job_2 + - stage_1_job_3 + - stage_1_job_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-actionlib ros-noetic-roswtf ros-noetic-joint-state-publisher-gui + ros-noetic-moveit-msgs ros-noetic-dynamic-reconfigure + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-actionlib ros-noetic-roswtf ros-noetic-joint-state-publisher-gui + ros-noetic-moveit-msgs ros-noetic-dynamic-reconfigure + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_2_job_6: + name: rqt-logger-level pcl-conversions rqt-bag controller-manager-msgs camera-info-manager + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_1_job_1 + - stage_1_job_2 + - stage_1_job_3 + - stage_1_job_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rqt-logger-level ros-noetic-pcl-conversions ros-noetic-rqt-bag + ros-noetic-controller-manager-msgs ros-noetic-camera-info-manager + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rqt-logger-level ros-noetic-pcl-conversions ros-noetic-rqt-bag + ros-noetic-controller-manager-msgs ros-noetic-camera-info-manager + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_2_job_7: + name: rqt-image-view polled-camera common-msgs rqt-graph rosbridge-library + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_1_job_1 + - stage_1_job_2 + - stage_1_job_3 + - stage_1_job_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rqt-image-view ros-noetic-polled-camera ros-noetic-common-msgs + ros-noetic-rqt-graph ros-noetic-rosbridge-library + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rqt-image-view ros-noetic-polled-camera ros-noetic-common-msgs + ros-noetic-rqt-graph ros-noetic-rosbridge-library + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_2_job_8: + name: camera-calibration vision-opencv + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_1_job_1 + - stage_1_job_2 + - stage_1_job_3 + - stage_1_job_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-camera-calibration ros-noetic-vision-opencv + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-camera-calibration ros-noetic-vision-opencv + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_9: + name: tf2-ros rqt-py-common sound-play nodelet-topic-tools realtime-tools + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_5 + - stage_2_job_6 + - stage_2_job_7 + - stage_2_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-tf2-ros ros-noetic-rqt-py-common ros-noetic-sound-play + ros-noetic-nodelet-topic-tools ros-noetic-realtime-tools + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-tf2-ros ros-noetic-rqt-py-common ros-noetic-sound-play + ros-noetic-nodelet-topic-tools ros-noetic-realtime-tools + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_10: + name: image-view controller-manager image-publisher actionlib-tutorials compressed-image-transport + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_5 + - stage_2_job_6 + - stage_2_job_7 + - stage_2_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-image-view ros-noetic-controller-manager ros-noetic-image-publisher + ros-noetic-actionlib-tutorials ros-noetic-compressed-image-transport + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-image-view ros-noetic-controller-manager ros-noetic-image-publisher + ros-noetic-actionlib-tutorials ros-noetic-compressed-image-transport + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_11: + name: ddynamic-reconfigure compressed-depth-image-transport ros-comm theora-image-transport + smach-ros + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_5 + - stage_2_job_6 + - stage_2_job_7 + - stage_2_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-ddynamic-reconfigure ros-noetic-compressed-depth-image-transport + ros-noetic-ros-comm ros-noetic-theora-image-transport ros-noetic-smach-ros + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-ddynamic-reconfigure ros-noetic-compressed-depth-image-transport + ros-noetic-ros-comm ros-noetic-theora-image-transport ros-noetic-smach-ros + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_12: + name: rqt-dep rosapi turtle-actionlib image-common rqt-controller-manager + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_5 + - stage_2_job_6 + - stage_2_job_7 + - stage_2_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rqt-dep ros-noetic-rosapi ros-noetic-turtle-actionlib + ros-noetic-image-common ros-noetic-rqt-controller-manager + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rqt-dep ros-noetic-rosapi ros-noetic-turtle-actionlib + ros-noetic-image-common ros-noetic-rqt-controller-manager + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_13: + name: pid + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_5 + - stage_2_job_6 + - stage_2_job_7 + - stage_2_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-pid + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-pid + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_14: + name: tf2-geometry-msgs tf tf2-kdl tf2-sensor-msgs rqt-console + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-tf2-geometry-msgs ros-noetic-tf ros-noetic-tf2-kdl ros-noetic-tf2-sensor-msgs + ros-noetic-rqt-console + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-tf2-geometry-msgs ros-noetic-tf ros-noetic-tf2-kdl + ros-noetic-tf2-sensor-msgs ros-noetic-rqt-console + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_15: + name: depth-image-proc image-proc control-toolbox forward-command-controller rqt-robot-monitor + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-depth-image-proc ros-noetic-image-proc ros-noetic-control-toolbox + ros-noetic-forward-command-controller ros-noetic-rqt-robot-monitor + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-depth-image-proc ros-noetic-image-proc ros-noetic-control-toolbox + ros-noetic-forward-command-controller ros-noetic-rqt-robot-monitor + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_16: + name: rqt-plot joint-state-controller imu-sensor-controller force-torque-sensor-controller + ros-core + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rqt-plot ros-noetic-joint-state-controller ros-noetic-imu-sensor-controller + ros-noetic-force-torque-sensor-controller ros-noetic-ros-core + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rqt-plot ros-noetic-joint-state-controller ros-noetic-imu-sensor-controller + ros-noetic-force-torque-sensor-controller ros-noetic-ros-core + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_17: + name: nodelet-core rqt-tf-tree rqt-moveit rqt-service-caller rqt-publisher + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-nodelet-core ros-noetic-rqt-tf-tree ros-noetic-rqt-moveit + ros-noetic-rqt-service-caller ros-noetic-rqt-publisher + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-nodelet-core ros-noetic-rqt-tf-tree ros-noetic-rqt-moveit + ros-noetic-rqt-service-caller ros-noetic-rqt-publisher + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_18: + name: executive-smach rosbridge-server image-transport-plugins common-tutorials + tf2-tools + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-executive-smach ros-noetic-rosbridge-server ros-noetic-image-transport-plugins + ros-noetic-common-tutorials ros-noetic-tf2-tools + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-executive-smach ros-noetic-rosbridge-server ros-noetic-image-transport-plugins + ros-noetic-common-tutorials ros-noetic-tf2-tools + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_19: + name: ros-babel-fish plotjuggler-ros + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_9 + - stage_3_job_10 + - stage_3_job_11 + - stage_3_job_12 + - stage_3_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-ros-babel-fish ros-noetic-plotjuggler-ros + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-ros-babel-fish ros-noetic-plotjuggler-ros + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_20: + name: laser-geometry interactive-markers robot-state-publisher warehouse-ros rqt-reconfigure + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-laser-geometry ros-noetic-interactive-markers ros-noetic-robot-state-publisher + ros-noetic-warehouse-ros ros-noetic-rqt-reconfigure + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-laser-geometry ros-noetic-interactive-markers + ros-noetic-robot-state-publisher ros-noetic-warehouse-ros ros-noetic-rqt-reconfigure + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_21: + name: gazebo-ros pcl-ros tf-conversions rqt-nav-view rgbd-launch + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-gazebo-ros ros-noetic-pcl-ros ros-noetic-tf-conversions + ros-noetic-rqt-nav-view ros-noetic-rgbd-launch + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-gazebo-ros ros-noetic-pcl-ros ros-noetic-tf-conversions + ros-noetic-rqt-nav-view ros-noetic-rgbd-launch + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_22: + name: stereo-image-proc amcl velocity-controllers position-controllers joint-trajectory-controller + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-stereo-image-proc ros-noetic-amcl ros-noetic-velocity-controllers + ros-noetic-position-controllers ros-noetic-joint-trajectory-controller + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-stereo-image-proc ros-noetic-amcl ros-noetic-velocity-controllers + ros-noetic-position-controllers ros-noetic-joint-trajectory-controller + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_23: + name: diff-drive-controller octomap-ros rqt-msg realsense2-camera gripper-action-controller + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-diff-drive-controller ros-noetic-octomap-ros ros-noetic-rqt-msg + ros-noetic-realsense2-camera ros-noetic-gripper-action-controller + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-diff-drive-controller ros-noetic-octomap-ros ros-noetic-rqt-msg + ros-noetic-realsense2-camera ros-noetic-gripper-action-controller + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_24: + name: diagnostic-common-diagnostics rqt-pose-view rqt-launch rqt-bag-plugins ros-base + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-diagnostic-common-diagnostics ros-noetic-rqt-pose-view + ros-noetic-rqt-launch ros-noetic-rqt-bag-plugins ros-noetic-ros-base + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-diagnostic-common-diagnostics ros-noetic-rqt-pose-view + ros-noetic-rqt-launch ros-noetic-rqt-bag-plugins ros-noetic-ros-base + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_25: + name: image-rotate turtle-tf2 turtle-tf imu-filter-madgwick imu-complementary-filter + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-image-rotate ros-noetic-turtle-tf2 ros-noetic-turtle-tf + ros-noetic-imu-filter-madgwick ros-noetic-imu-complementary-filter + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-image-rotate ros-noetic-turtle-tf2 ros-noetic-turtle-tf + ros-noetic-imu-filter-madgwick ros-noetic-imu-complementary-filter + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_26: + name: fake-localization hector-trajectory-server rosserial-client rosbridge-suite + rqt-ez-publisher + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-fake-localization ros-noetic-hector-trajectory-server + ros-noetic-rosserial-client ros-noetic-rosbridge-suite ros-noetic-rqt-ez-publisher + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-fake-localization ros-noetic-hector-trajectory-server + ros-noetic-rosserial-client ros-noetic-rosbridge-suite ros-noetic-rqt-ez-publisher + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_27: + name: microstrain-inertial-driver geometry2 + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_14 + - stage_4_job_15 + - stage_4_job_16 + - stage_4_job_17 + - stage_4_job_18 + - stage_4_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-microstrain-inertial-driver ros-noetic-geometry2 + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-microstrain-inertial-driver ros-noetic-geometry2 + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_28: + name: rviz moveit-resources-fanuc-moveit-config costmap-2d laser-filters rqt-robot-dashboard + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_20 + - stage_5_job_21 + - stage_5_job_22 + - stage_5_job_23 + - stage_5_job_24 + - stage_5_job_25 + - stage_5_job_26 + - stage_5_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rviz ros-noetic-moveit-resources-fanuc-moveit-config + ros-noetic-costmap-2d ros-noetic-laser-filters ros-noetic-rqt-robot-dashboard + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rviz ros-noetic-moveit-resources-fanuc-moveit-config + ros-noetic-costmap-2d ros-noetic-laser-filters ros-noetic-rqt-robot-dashboard + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_29: + name: gazebo-ros-control gazebo-plugins effort-controllers ackermann-steering-controller + laser-assembler + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_20 + - stage_5_job_21 + - stage_5_job_22 + - stage_5_job_23 + - stage_5_job_24 + - stage_5_job_25 + - stage_5_job_26 + - stage_5_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-gazebo-ros-control ros-noetic-gazebo-plugins ros-noetic-effort-controllers + ros-noetic-ackermann-steering-controller ros-noetic-laser-assembler + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-gazebo-ros-control ros-noetic-gazebo-plugins ros-noetic-effort-controllers + ros-noetic-ackermann-steering-controller ros-noetic-laser-assembler + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_30: + name: rqt-srv rqt-action turtlebot3-bringup geometry diagnostics + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_20 + - stage_5_job_21 + - stage_5_job_22 + - stage_5_job_23 + - stage_5_job_24 + - stage_5_job_25 + - stage_5_job_26 + - stage_5_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rqt-srv ros-noetic-rqt-action ros-noetic-turtlebot3-bringup + ros-noetic-geometry ros-noetic-diagnostics + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rqt-srv ros-noetic-rqt-action ros-noetic-turtlebot3-bringup + ros-noetic-geometry ros-noetic-diagnostics + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_31: + name: interactive-marker-tutorials turtlebot3-gazebo sick-tim perception-pcl image-pipeline + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_20 + - stage_5_job_21 + - stage_5_job_22 + - stage_5_job_23 + - stage_5_job_24 + - stage_5_job_25 + - stage_5_job_26 + - stage_5_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-interactive-marker-tutorials ros-noetic-turtlebot3-gazebo + ros-noetic-sick-tim ros-noetic-perception-pcl ros-noetic-image-pipeline + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-interactive-marker-tutorials ros-noetic-turtlebot3-gazebo + ros-noetic-sick-tim ros-noetic-perception-pcl ros-noetic-image-pipeline + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_32: + name: geometry-tutorials turtlebot3-fake rosserial-arduino + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_20 + - stage_5_job_21 + - stage_5_job_22 + - stage_5_job_23 + - stage_5_job_24 + - stage_5_job_25 + - stage_5_job_26 + - stage_5_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-geometry-tutorials ros-noetic-turtlebot3-fake ros-noetic-rosserial-arduino + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-geometry-tutorials ros-noetic-turtlebot3-fake + ros-noetic-rosserial-arduino + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_7_job_33: + name: moveit-resources-panda-moveit-config nav-core rqt-rviz ros-controllers rqt-common-plugins + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_6_job_28 + - stage_6_job_29 + - stage_6_job_30 + - stage_6_job_31 + - stage_6_job_32 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-resources-panda-moveit-config ros-noetic-nav-core + ros-noetic-rqt-rviz ros-noetic-ros-controllers ros-noetic-rqt-common-plugins + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-resources-panda-moveit-config ros-noetic-nav-core + ros-noetic-rqt-rviz ros-noetic-ros-controllers ros-noetic-rqt-common-plugins + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_7_job_34: + name: rviz-python-tutorial rviz-plugin-tutorials librviz-tutorial urdf-tutorial + robot + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_6_job_28 + - stage_6_job_29 + - stage_6_job_30 + - stage_6_job_31 + - stage_6_job_32 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rviz-python-tutorial ros-noetic-rviz-plugin-tutorials + ros-noetic-librviz-tutorial ros-noetic-urdf-tutorial ros-noetic-robot + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rviz-python-tutorial ros-noetic-rviz-plugin-tutorials + ros-noetic-librviz-tutorial ros-noetic-urdf-tutorial ros-noetic-robot + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_7_job_35: + name: gazebo-ros-pkgs laser-pipeline rviz-imu-plugin turtlebot3-slam turtlebot3-example + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_6_job_28 + - stage_6_job_29 + - stage_6_job_30 + - stage_6_job_31 + - stage_6_job_32 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-gazebo-ros-pkgs ros-noetic-laser-pipeline ros-noetic-rviz-imu-plugin + ros-noetic-turtlebot3-slam ros-noetic-turtlebot3-example + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-gazebo-ros-pkgs ros-noetic-laser-pipeline ros-noetic-rviz-imu-plugin + ros-noetic-turtlebot3-slam ros-noetic-turtlebot3-example + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_7_job_36: + name: rviz-visual-tools turtlebot3-simulations + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_6_job_28 + - stage_6_job_29 + - stage_6_job_30 + - stage_6_job_31 + - stage_6_job_32 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-rviz-visual-tools ros-noetic-turtlebot3-simulations + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-rviz-visual-tools ros-noetic-turtlebot3-simulations + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_8_job_37: + name: moveit-core base-local-planner navfn clear-costmap-recovery rqt-robot-plugins + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_7_job_33 + - stage_7_job_34 + - stage_7_job_35 + - stage_7_job_36 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-core ros-noetic-base-local-planner ros-noetic-navfn + ros-noetic-clear-costmap-recovery ros-noetic-rqt-robot-plugins + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-core ros-noetic-base-local-planner ros-noetic-navfn + ros-noetic-clear-costmap-recovery ros-noetic-rqt-robot-plugins + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_8_job_38: + name: visualization-tutorials urdf-sim-tutorial perception move-slow-and-clear + imu-tools + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_7_job_33 + - stage_7_job_34 + - stage_7_job_35 + - stage_7_job_36 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-visualization-tutorials ros-noetic-urdf-sim-tutorial + ros-noetic-perception ros-noetic-move-slow-and-clear ros-noetic-imu-tools + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-visualization-tutorials ros-noetic-urdf-sim-tutorial + ros-noetic-perception ros-noetic-move-slow-and-clear ros-noetic-imu-tools + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_9_job_39: + name: moveit-ros-occupancy-map-monitor rotate-recovery moveit-resources-prbt-ikfast-manipulator-plugin + dwa-local-planner moveit-simple-controller-manager + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_8_job_37 + - stage_8_job_38 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-ros-occupancy-map-monitor ros-noetic-rotate-recovery + ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin ros-noetic-dwa-local-planner + ros-noetic-moveit-simple-controller-manager + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-ros-occupancy-map-monitor ros-noetic-rotate-recovery + ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin ros-noetic-dwa-local-planner + ros-noetic-moveit-simple-controller-manager + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_9_job_40: + name: chomp-motion-planner viz simulators global-planner carrot-planner + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_8_job_37 + - stage_8_job_38 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-chomp-motion-planner ros-noetic-viz ros-noetic-simulators + ros-noetic-global-planner ros-noetic-carrot-planner + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-chomp-motion-planner ros-noetic-viz ros-noetic-simulators + ros-noetic-global-planner ros-noetic-carrot-planner + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_10_job_41: + name: moveit-ros-planning move-base moveit-resources-prbt-moveit-config moveit-ros-control-interface + desktop + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_9_job_39 + - stage_9_job_40 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-ros-planning ros-noetic-move-base ros-noetic-moveit-resources-prbt-moveit-config + ros-noetic-moveit-ros-control-interface ros-noetic-desktop + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-ros-planning ros-noetic-move-base ros-noetic-moveit-resources-prbt-moveit-config + ros-noetic-moveit-ros-control-interface ros-noetic-desktop + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_11_job_42: + name: moveit-kinematics moveit-ros-warehouse moveit-ros-robot-interaction moveit-ros-perception + moveit-fake-controller-manager + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_10_job_41 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-kinematics ros-noetic-moveit-ros-warehouse ros-noetic-moveit-ros-robot-interaction + ros-noetic-moveit-ros-perception ros-noetic-moveit-fake-controller-manager + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-kinematics ros-noetic-moveit-ros-warehouse + ros-noetic-moveit-ros-robot-interaction ros-noetic-moveit-ros-perception + ros-noetic-moveit-fake-controller-manager + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_11_job_43: + name: moveit-resources-prbt-pg70-support moveit-planners-ompl turtlebot3-navigation + desktop-full navigation + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_10_job_41 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-resources-prbt-pg70-support ros-noetic-moveit-planners-ompl + ros-noetic-turtlebot3-navigation ros-noetic-desktop-full ros-noetic-navigation + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-resources-prbt-pg70-support ros-noetic-moveit-planners-ompl + ros-noetic-turtlebot3-navigation ros-noetic-desktop-full ros-noetic-navigation + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_11_job_44: + name: moveit-visual-tools + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_10_job_41 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-visual-tools + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-visual-tools + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_12_job_45: + name: moveit-ros-move-group moveit-plugins moveit-ros-benchmarks turtlebot3 + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_11_job_42 + - stage_11_job_43 + - stage_11_job_44 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-ros-move-group ros-noetic-moveit-plugins ros-noetic-moveit-ros-benchmarks + ros-noetic-turtlebot3 + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-ros-move-group ros-noetic-moveit-plugins + ros-noetic-moveit-ros-benchmarks ros-noetic-turtlebot3 + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_13_job_46: + name: moveit-ros-manipulation moveit-ros-planning-interface + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_12_job_45 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-ros-manipulation ros-noetic-moveit-ros-planning-interface + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-ros-manipulation ros-noetic-moveit-ros-planning-interface + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_14_job_47: + name: moveit-commander moveit-ros-visualization moveit-planners-chomp + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_13_job_46 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-commander ros-noetic-moveit-ros-visualization + ros-noetic-moveit-planners-chomp + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-commander ros-noetic-moveit-ros-visualization + ros-noetic-moveit-planners-chomp + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_15_job_48: + name: pilz-industrial-motion-planner-testutils moveit-setup-assistant moveit-ros + pilz-industrial-motion-planner + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_14_job_47 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-pilz-industrial-motion-planner-testutils ros-noetic-moveit-setup-assistant + ros-noetic-moveit-ros ros-noetic-pilz-industrial-motion-planner + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-pilz-industrial-motion-planner-testutils ros-noetic-moveit-setup-assistant + ros-noetic-moveit-ros ros-noetic-pilz-industrial-motion-planner + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_16_job_49: + name: moveit-planners moveit + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_15_job_48 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-noetic-moveit-planners ros-noetic-moveit + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-noetic-moveit-planners ros-noetic-moveit + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh +name: build_osx +on: + push: + branches: + - buildbranch_osx_arm64 diff --git a/activate.bat b/activate.bat new file mode 100644 index 000000000..48ff1d713 --- /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 100644 index 000000000..137e67aef --- /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 100644 index 000000000..aece97080 --- /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"; export RMW_IMPLEMENTATION="rmw_cyclonedds_cpp";; + 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 100644 index 000000000..7aa6fc90a --- /dev/null +++ b/bld_ament_cmake.bat @@ -0,0 +1,38 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +rd /s /q build +mkdir build +pushd build + +:: set "CMAKE_GENERATOR=Ninja" + +:: try to fix long paths issues by using default generator +set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%" +set "SP_DIR_FORWARDSLASHES=%SP_DIR:\=/%" + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + -DPYTHON_INSTALL_DIR=%SP_DIR_FORWARDSLASHES% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 diff --git a/bld_ament_python.bat b/bld_ament_python.bat new file mode 100644 index 000000000..5aa4f978a --- /dev/null +++ b/bld_ament_python.bat @@ -0,0 +1,21 @@ +:: 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 + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% -m pip install . --no-deps -vvv +) else ( + set "INSTALL_SCRIPTS_ARG=--install-scripts=%LIBRARY_PREFIX%\bin" + %PYTHON% setup.py install ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + %INSTALL_SCRIPTS_ARG% +) + +if errorlevel 1 exit 1 diff --git a/bld_catkin.bat b/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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 100644 index 000000000..f2c6cf722 --- /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-noetic-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 100644 index 000000000..9d012eff4 --- /dev/null +++ b/bld_colcon_merge.bat @@ -0,0 +1,28 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +set "SP_DIR_FORWARDSLASHES=%SP_DIR:\=/%" + +colcon build ^ + --event-handlers console_cohesion+ ^ + --merge-install ^ + --install-base %LIBRARY_PREFIX% ^ + --cmake-args ^ + -G Ninja ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DBUILD_TESTING=OFF ^ + -DPYTHON_INSTALL_DIR=%SP_DIR_FORWARDSLASHES% ^ + -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 100644 index 000000000..01c63b554 --- /dev/null +++ b/build_ament_cmake.sh @@ -0,0 +1,68 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python ${ROS_PYTHON_VERSION}" +echo "Using site-package dir ${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 +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$SP_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + $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 100644 index 000000000..395f7d640 --- /dev/null +++ b/build_ament_python.sh @@ -0,0 +1,19 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +pushd $SRC_DIR/$PKG_NAME/src/work + +# If there is a setup.cfg that contains install-scripts then we should not set it here +result=$? +grep -q "install[-_]scripts" setup.cfg || true +if [ $result -eq 0 ]; then + $PYTHON -m pip install . --no-deps -vvv +else + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-noetic-} + # 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 +fi diff --git a/build_catkin.sh b/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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 000000000..8d0dd8117 --- /dev/null +++ b/buildorder.txt @@ -0,0 +1,215 @@ +ros-noetic-rostopic +ros-noetic-rosmsg +ros-noetic-sensor-msgs +ros-noetic-diagnostic-analysis +ros-noetic-rosnode +ros-noetic-rosservice +ros-noetic-map-msgs +ros-noetic-image-transport +ros-noetic-joint-state-publisher +ros-noetic-object-recognition-msgs +ros-noetic-pcl-msgs +ros-noetic-stereo-msgs +ros-noetic-image-geometry +ros-noetic-cv-bridge +ros-noetic-gazebo-msgs +ros-noetic-camera-calibration-parsers +ros-noetic-rqt-topic +ros-noetic-hls-lfcd-lds-driver +ros-noetic-rqt-robot-steering +ros-noetic-laser-proc +ros-noetic-mavros-msgs +ros-noetic-gps-common +ros-noetic-actionlib +ros-noetic-roswtf +ros-noetic-joint-state-publisher-gui +ros-noetic-moveit-msgs +ros-noetic-dynamic-reconfigure +ros-noetic-rqt-logger-level +ros-noetic-pcl-conversions +ros-noetic-rqt-bag +ros-noetic-controller-manager-msgs +ros-noetic-camera-info-manager +ros-noetic-rqt-image-view +ros-noetic-polled-camera +ros-noetic-common-msgs +ros-noetic-rqt-graph +ros-noetic-rosbridge-library +ros-noetic-camera-calibration +ros-noetic-vision-opencv +ros-noetic-tf2-ros +ros-noetic-rqt-py-common +ros-noetic-sound-play +ros-noetic-nodelet-topic-tools +ros-noetic-realtime-tools +ros-noetic-image-view +ros-noetic-controller-manager +ros-noetic-image-publisher +ros-noetic-actionlib-tutorials +ros-noetic-compressed-image-transport +ros-noetic-ddynamic-reconfigure +ros-noetic-compressed-depth-image-transport +ros-noetic-ros-comm +ros-noetic-theora-image-transport +ros-noetic-smach-ros +ros-noetic-rqt-dep +ros-noetic-rosapi +ros-noetic-turtle-actionlib +ros-noetic-image-common +ros-noetic-rqt-controller-manager +ros-noetic-pid +ros-noetic-tf2-geometry-msgs +ros-noetic-tf +ros-noetic-tf2-kdl +ros-noetic-tf2-sensor-msgs +ros-noetic-rqt-console +ros-noetic-depth-image-proc +ros-noetic-image-proc +ros-noetic-control-toolbox +ros-noetic-forward-command-controller +ros-noetic-rqt-robot-monitor +ros-noetic-rqt-plot +ros-noetic-joint-state-controller +ros-noetic-imu-sensor-controller +ros-noetic-force-torque-sensor-controller +ros-noetic-ros-core +ros-noetic-nodelet-core +ros-noetic-rqt-tf-tree +ros-noetic-rqt-moveit +ros-noetic-rqt-service-caller +ros-noetic-rqt-publisher +ros-noetic-executive-smach +ros-noetic-rosbridge-server +ros-noetic-image-transport-plugins +ros-noetic-common-tutorials +ros-noetic-tf2-tools +ros-noetic-ros-babel-fish +ros-noetic-plotjuggler-ros +ros-noetic-laser-geometry +ros-noetic-interactive-markers +ros-noetic-robot-state-publisher +ros-noetic-warehouse-ros +ros-noetic-rqt-reconfigure +ros-noetic-gazebo-ros +ros-noetic-pcl-ros +ros-noetic-tf-conversions +ros-noetic-rqt-nav-view +ros-noetic-rgbd-launch +ros-noetic-stereo-image-proc +ros-noetic-amcl +ros-noetic-velocity-controllers +ros-noetic-position-controllers +ros-noetic-joint-trajectory-controller +ros-noetic-diff-drive-controller +ros-noetic-octomap-ros +ros-noetic-rqt-msg +ros-noetic-realsense2-camera +ros-noetic-gripper-action-controller +ros-noetic-diagnostic-common-diagnostics +ros-noetic-rqt-pose-view +ros-noetic-rqt-launch +ros-noetic-rqt-bag-plugins +ros-noetic-ros-base +ros-noetic-image-rotate +ros-noetic-turtle-tf2 +ros-noetic-turtle-tf +ros-noetic-imu-filter-madgwick +ros-noetic-imu-complementary-filter +ros-noetic-fake-localization +ros-noetic-hector-trajectory-server +ros-noetic-rosserial-client +ros-noetic-rosbridge-suite +ros-noetic-rqt-ez-publisher +ros-noetic-microstrain-inertial-driver +ros-noetic-geometry2 +ros-noetic-rviz +ros-noetic-moveit-resources-fanuc-moveit-config +ros-noetic-costmap-2d +ros-noetic-laser-filters +ros-noetic-rqt-robot-dashboard +ros-noetic-gazebo-ros-control +ros-noetic-gazebo-plugins +ros-noetic-effort-controllers +ros-noetic-ackermann-steering-controller +ros-noetic-laser-assembler +ros-noetic-rqt-srv +ros-noetic-rqt-action +ros-noetic-turtlebot3-bringup +ros-noetic-geometry +ros-noetic-diagnostics +ros-noetic-interactive-marker-tutorials +ros-noetic-turtlebot3-gazebo +ros-noetic-sick-tim +ros-noetic-perception-pcl +ros-noetic-image-pipeline +ros-noetic-geometry-tutorials +ros-noetic-turtlebot3-fake +ros-noetic-rosserial-arduino +ros-noetic-moveit-resources-panda-moveit-config +ros-noetic-nav-core +ros-noetic-rqt-rviz +ros-noetic-ros-controllers +ros-noetic-rqt-common-plugins +ros-noetic-rviz-python-tutorial +ros-noetic-rviz-plugin-tutorials +ros-noetic-librviz-tutorial +ros-noetic-urdf-tutorial +ros-noetic-robot +ros-noetic-gazebo-ros-pkgs +ros-noetic-laser-pipeline +ros-noetic-rviz-imu-plugin +ros-noetic-turtlebot3-slam +ros-noetic-turtlebot3-example +ros-noetic-rviz-visual-tools +ros-noetic-turtlebot3-simulations +ros-noetic-moveit-core +ros-noetic-base-local-planner +ros-noetic-navfn +ros-noetic-clear-costmap-recovery +ros-noetic-rqt-robot-plugins +ros-noetic-visualization-tutorials +ros-noetic-urdf-sim-tutorial +ros-noetic-perception +ros-noetic-move-slow-and-clear +ros-noetic-imu-tools +ros-noetic-moveit-ros-occupancy-map-monitor +ros-noetic-rotate-recovery +ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin +ros-noetic-dwa-local-planner +ros-noetic-moveit-simple-controller-manager +ros-noetic-chomp-motion-planner +ros-noetic-viz +ros-noetic-simulators +ros-noetic-global-planner +ros-noetic-carrot-planner +ros-noetic-moveit-ros-planning +ros-noetic-move-base +ros-noetic-moveit-resources-prbt-moveit-config +ros-noetic-moveit-ros-control-interface +ros-noetic-desktop +ros-noetic-moveit-kinematics +ros-noetic-moveit-ros-warehouse +ros-noetic-moveit-ros-robot-interaction +ros-noetic-moveit-ros-perception +ros-noetic-moveit-fake-controller-manager +ros-noetic-moveit-resources-prbt-pg70-support +ros-noetic-moveit-planners-ompl +ros-noetic-turtlebot3-navigation +ros-noetic-desktop-full +ros-noetic-navigation +ros-noetic-moveit-visual-tools +ros-noetic-moveit-ros-move-group +ros-noetic-moveit-plugins +ros-noetic-moveit-ros-benchmarks +ros-noetic-turtlebot3 +ros-noetic-moveit-ros-manipulation +ros-noetic-moveit-ros-planning-interface +ros-noetic-moveit-commander +ros-noetic-moveit-ros-visualization +ros-noetic-moveit-planners-chomp +ros-noetic-pilz-industrial-motion-planner-testutils +ros-noetic-moveit-setup-assistant +ros-noetic-moveit-ros +ros-noetic-pilz-industrial-motion-planner +ros-noetic-moveit-planners +ros-noetic-moveit \ No newline at end of file diff --git a/deactivate.bat b/deactivate.bat new file mode 100644 index 000000000..6de79ccaf --- /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 100644 index 000000000..9db51e1c2 --- /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 100644 index 000000000..87d4d8359 --- /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-noetic-ackermann-steering-controller/bld_catkin.bat b/recipes/ros-noetic-ackermann-steering-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ackermann-steering-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ackermann-steering-controller/build_catkin.sh b/recipes/ros-noetic-ackermann-steering-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ackermann-steering-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ackermann-steering-controller/recipe.yaml b/recipes/ros-noetic-ackermann-steering-controller/recipe.yaml new file mode 100644 index 000000000..7b5fc20c4 --- /dev/null +++ b/recipes/ros-noetic-ackermann-steering-controller/recipe.yaml @@ -0,0 +1,77 @@ +package: + name: ros-noetic-ackermann-steering-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/ackermann_steering_controller/0.21.2-1 + folder: ros-noetic-ackermann-steering-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-controller-manager-msgs + - ros-noetic-diff-drive-controller + - ros-noetic-geometry-msgs + - ros-noetic-hardware-interface + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - ros-noetic-xacro + - urdfdom + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-diff-drive-controller + - ros-noetic-hardware-interface + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-tf + - urdfdom + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-actionlib-tutorials/bld_catkin.bat b/recipes/ros-noetic-actionlib-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-actionlib-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-actionlib-tutorials/build_catkin.sh b/recipes/ros-noetic-actionlib-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-actionlib-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-actionlib-tutorials/recipe.yaml b/recipes/ros-noetic-actionlib-tutorials/recipe.yaml new file mode 100644 index 000000000..27d669e31 --- /dev/null +++ b/recipes/ros-noetic-actionlib-tutorials/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-actionlib-tutorials + version: 0.2.0 +source: + git_url: https://github.com/ros-gbp/common_tutorials-release.git + git_rev: release/noetic/actionlib_tutorials/0.2.0-1 + folder: ros-noetic-actionlib-tutorials/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-message-runtime + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-actionlib/bld_catkin.bat b/recipes/ros-noetic-actionlib/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-actionlib/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-actionlib/build_catkin.sh b/recipes/ros-noetic-actionlib/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-actionlib/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-actionlib/patch/ros-noetic-actionlib.patch b/recipes/ros-noetic-actionlib/patch/ros-noetic-actionlib.patch new file mode 100644 index 000000000..903753888 --- /dev/null +++ b/recipes/ros-noetic-actionlib/patch/ros-noetic-actionlib.patch @@ -0,0 +1,264 @@ +diff --git a/actionlib/include/actionlib/client/action_client.h b/actionlib/include/actionlib/client/action_client.h +index 85b32dc..21d0102 100644 +--- a/actionlib/include/actionlib/client/action_client.h ++++ b/actionlib/include/actionlib/client/action_client.h +@@ -236,17 +236,17 @@ private: + + // Start publishers and subscribers + goal_pub_ = queue_advertise("goal", static_cast(pub_queue_size), +- boost::bind(&ConnectionMonitor::goalConnectCallback, connection_monitor_, _1), +- boost::bind(&ConnectionMonitor::goalDisconnectCallback, connection_monitor_, _1), ++ boost::bind(&ConnectionMonitor::goalConnectCallback, connection_monitor_, boost::placeholders::_1), ++ boost::bind(&ConnectionMonitor::goalDisconnectCallback, connection_monitor_, boost::placeholders::_1), + queue); + cancel_pub_ = + queue_advertise("cancel", static_cast(pub_queue_size), +- boost::bind(&ConnectionMonitor::cancelConnectCallback, connection_monitor_, _1), +- boost::bind(&ConnectionMonitor::cancelDisconnectCallback, connection_monitor_, _1), ++ boost::bind(&ConnectionMonitor::cancelConnectCallback, connection_monitor_, boost::placeholders::_1), ++ boost::bind(&ConnectionMonitor::cancelDisconnectCallback, connection_monitor_, boost::placeholders::_1), + queue); + +- manager_.registerSendGoalFunc(boost::bind(&ActionClientT::sendGoalFunc, this, _1)); +- manager_.registerCancelFunc(boost::bind(&ActionClientT::sendCancelFunc, this, _1)); ++ manager_.registerSendGoalFunc(boost::bind(&ActionClientT::sendGoalFunc, this, boost::placeholders::_1)); ++ manager_.registerCancelFunc(boost::bind(&ActionClientT::sendCancelFunc, this, boost::placeholders::_1)); + } + + template +@@ -275,7 +275,7 @@ private: + ops.datatype = ros::message_traits::datatype(); + ops.helper = ros::SubscriptionCallbackHelperPtr( + new ros::SubscriptionCallbackHelperT &>( +- boost::bind(fp, obj, _1) ++ boost::bind(fp, obj, boost::placeholders::_1) + ) + ); + return n_.subscribe(ops); +diff --git a/actionlib/include/actionlib/client/goal_manager_imp.h b/actionlib/include/actionlib/client/goal_manager_imp.h +index 28f4979..4e3281b 100644 +--- a/actionlib/include/actionlib/client/goal_manager_imp.h ++++ b/actionlib/include/actionlib/client/goal_manager_imp.h +@@ -74,7 +74,7 @@ ClientGoalHandle GoalManager::initGoal(const Goal & goal + + boost::recursive_mutex::scoped_lock lock(list_mutex_); + typename ManagedListT::Handle list_handle = +- list_.add(comm_state_machine, boost::bind(&GoalManagerT::listElemDeleter, this, _1), guard_); ++ list_.add(comm_state_machine, boost::bind(&GoalManagerT::listElemDeleter, this, boost::placeholders::_1), guard_); + + if (send_goal_func_) { + send_goal_func_(action_goal); +diff --git a/actionlib/include/actionlib/client/simple_action_client.h b/actionlib/include/actionlib/client/simple_action_client.h +index 436516f..02df1ae 100644 +--- a/actionlib/include/actionlib/client/simple_action_client.h ++++ b/actionlib/include/actionlib/client/simple_action_client.h +@@ -330,8 +330,8 @@ void SimpleActionClient::sendGoal(const Goal & goal, + cur_simple_state_ = SimpleGoalState::PENDING; + + // Send the goal to the ActionServer +- gh_ = ac_->sendGoal(goal, boost::bind(&SimpleActionClientT::handleTransition, this, _1), +- boost::bind(&SimpleActionClientT::handleFeedback, this, _1, _2)); ++ gh_ = ac_->sendGoal(goal, boost::bind(&SimpleActionClientT::handleTransition, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionClientT::handleFeedback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + + template +diff --git a/actionlib/include/actionlib/managed_list.h b/actionlib/include/actionlib/managed_list.h +index 2c91960..b2c4f89 100644 +--- a/actionlib/include/actionlib/managed_list.h ++++ b/actionlib/include/actionlib/managed_list.h +@@ -218,7 +218,7 @@ private: + */ + Handle add(const T & elem) + { +- return add(elem, boost::bind(&ManagedList::defaultDeleter, this, _1) ); ++ return add(elem, boost::bind(&ManagedList::defaultDeleter, this, boost::placeholders::_1) ); + } + + /** +diff --git a/actionlib/include/actionlib/one_shot_timer.h b/actionlib/include/actionlib/one_shot_timer.h +index e3c821d..7839294 100644 +--- a/actionlib/include/actionlib/one_shot_timer.h ++++ b/actionlib/include/actionlib/one_shot_timer.h +@@ -60,7 +60,7 @@ public: + + boost::function getCb() + { +- return boost::bind(&OneShotTimer::cb, this, _1); ++ return boost::bind(&OneShotTimer::cb, this, boost::placeholders::_1); + } + + void registerOneShotCb(boost::function callback) +diff --git a/actionlib/include/actionlib/server/action_server_imp.h b/actionlib/include/actionlib/server/action_server_imp.h +index 2a088b1..837b9c4 100644 +--- a/actionlib/include/actionlib/server/action_server_imp.h ++++ b/actionlib/include/actionlib/server/action_server_imp.h +@@ -172,15 +172,15 @@ void ActionServer::initialize() + + if (status_frequency > 0) { + status_timer_ = node_.createTimer(ros::Duration(1.0 / status_frequency), +- boost::bind(&ActionServer::publishStatus, this, _1)); ++ boost::bind(&ActionServer::publishStatus, this, boost::placeholders::_1)); + } + + goal_sub_ = node_.subscribe("goal", static_cast(sub_queue_size), +- boost::bind(&ActionServerBase::goalCallback, this, _1)); ++ boost::bind(&ActionServerBase::goalCallback, this, boost::placeholders::_1)); + + cancel_sub_ = + node_.subscribe("cancel", static_cast(sub_queue_size), +- boost::bind(&ActionServerBase::cancelCallback, this, _1)); ++ boost::bind(&ActionServerBase::cancelCallback, this, boost::placeholders::_1)); + } + + template +diff --git a/actionlib/include/actionlib/server/service_server_imp.h b/actionlib/include/actionlib/server/service_server_imp.h +index ac5444d..2f0265e 100644 +--- a/actionlib/include/actionlib/server/service_server_imp.h ++++ b/actionlib/include/actionlib/server/service_server_imp.h +@@ -58,7 +58,7 @@ ServiceServerImpT::ServiceServerImpT(ros::NodeHandle n, std::string + : service_cb_(service_cb) + { + as_ = boost::shared_ptr >(new ActionServer(n, name, +- boost::bind(&ServiceServerImpT::goalCB, this, _1), false)); ++ boost::bind(&ServiceServerImpT::goalCB, this, boost::placeholders::_1), false)); + as_->start(); + } + +diff --git a/actionlib/include/actionlib/server/simple_action_server_imp.h b/actionlib/include/actionlib/server/simple_action_server_imp.h +index 0255515..a361cd7 100644 +--- a/actionlib/include/actionlib/server/simple_action_server_imp.h ++++ b/actionlib/include/actionlib/server/simple_action_server_imp.h +@@ -56,8 +56,8 @@ SimpleActionServer::SimpleActionServer(std::string name, + + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n_, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + auto_start)); + } + +@@ -68,8 +68,8 @@ SimpleActionServer::SimpleActionServer(std::string name, bool auto_s + { + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n_, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + auto_start)); + + if (execute_callback_) { +@@ -85,8 +85,8 @@ SimpleActionServer::SimpleActionServer(std::string name, + { + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n_, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + true)); + + if (execute_callback_) { +@@ -104,8 +104,8 @@ SimpleActionServer::SimpleActionServer(ros::NodeHandle n, std::strin + { + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + auto_start)); + + if (execute_callback_) { +@@ -121,8 +121,8 @@ SimpleActionServer::SimpleActionServer(ros::NodeHandle n, std::strin + { + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + auto_start)); + + if (execute_callback_) { +@@ -138,8 +138,8 @@ SimpleActionServer::SimpleActionServer(ros::NodeHandle n, std::strin + { + // create the action server + as_ = boost::shared_ptr >(new ActionServer(n, name, +- boost::bind(&SimpleActionServer::goalCallback, this, _1), +- boost::bind(&SimpleActionServer::preemptCallback, this, _1), ++ boost::bind(&SimpleActionServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&SimpleActionServer::preemptCallback, this, boost::placeholders::_1), + true)); + + if (execute_callback_) { +diff --git a/actionlib/test/add_two_ints_server.cpp b/actionlib/test/add_two_ints_server.cpp +index 098c315..84ddace 100644 +--- a/actionlib/test/add_two_ints_server.cpp ++++ b/actionlib/test/add_two_ints_server.cpp +@@ -53,7 +53,7 @@ int main(int argc, char ** argv) + + actionlib::ServiceServer service = actionlib::advertiseService(n, + "add_two_ints", +- boost::bind(add, _1, _2)); ++ boost::bind(add, boost::placeholders::_1, boost::placeholders::_2)); + + ros::spin(); + +diff --git a/actionlib/test/ref_server.cpp b/actionlib/test/ref_server.cpp +index 1da0ab5..7aede23 100644 +--- a/actionlib/test/ref_server.cpp ++++ b/actionlib/test/ref_server.cpp +@@ -61,8 +61,8 @@ using namespace actionlib; + + RefServer::RefServer(ros::NodeHandle & n, const std::string & name) + : ActionServer(n, name, +- boost::bind(&RefServer::goalCallback, this, _1), +- boost::bind(&RefServer::cancelCallback, this, _1), ++ boost::bind(&RefServer::goalCallback, this, boost::placeholders::_1), ++ boost::bind(&RefServer::cancelCallback, this, boost::placeholders::_1), + false) + { + start(); +diff --git a/actionlib/test/server_goal_handle_destruction.cpp b/actionlib/test/server_goal_handle_destruction.cpp +index 9e179c7..ed12d2b 100644 +--- a/actionlib/test/server_goal_handle_destruction.cpp ++++ b/actionlib/test/server_goal_handle_destruction.cpp +@@ -67,7 +67,7 @@ ServerGoalHandleDestructionTester::ServerGoalHandleDestructionTester() + as_ = new ActionServer(nh_, "reference_action", false); + as_->start(); + as_->registerGoalCallback(boost::bind(&ServerGoalHandleDestructionTester::goalCallback, this, +- _1)); ++ boost::placeholders::_1)); + gh_ = new GoalHandle(); + } + +diff --git a/actionlib/test/simple_client_test.cpp b/actionlib/test/simple_client_test.cpp +index 341bbc9..ea40050 100644 +--- a/actionlib/test/simple_client_test.cpp ++++ b/actionlib/test/simple_client_test.cpp +@@ -106,7 +106,7 @@ TEST(SimpleClient, easy_callback) + + bool called = false; + goal.goal = 1; +- SimpleActionClient::SimpleDoneCallback func = boost::bind(&easyDoneCallback, &called, &client, _1, _2); ++ SimpleActionClient::SimpleDoneCallback func = boost::bind(&easyDoneCallback, &called, &client, boost::placeholders::_1, boost::placeholders::_2); + client.sendGoal(goal, func); + finished = client.waitForResult(ros::Duration(10.0)); + ASSERT_TRUE(finished); +diff --git a/actionlib/test/simple_execute_ref_server.cpp b/actionlib/test/simple_execute_ref_server.cpp +index 57aa9cd..b663ec4 100644 +--- a/actionlib/test/simple_execute_ref_server.cpp ++++ b/actionlib/test/simple_execute_ref_server.cpp +@@ -61,7 +61,7 @@ using namespace actionlib; + + SimpleExecuteRefServer::SimpleExecuteRefServer() + : as_(nh_, "reference_action", boost::bind(&SimpleExecuteRefServer::executeCallback, this, +- _1), false) ++ boost::placeholders::_1), false) + { + as_.start(); + } diff --git a/recipes/ros-noetic-actionlib/recipe.yaml b/recipes/ros-noetic-actionlib/recipe.yaml new file mode 100644 index 000000000..94388db28 --- /dev/null +++ b/recipes/ros-noetic-actionlib/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-actionlib + version: 1.14.0 +source: + git_url: https://github.com/ros-gbp/actionlib-release.git + git_rev: release/noetic/actionlib/1.14.0-1 + folder: ros-noetic-actionlib/src/work + patches: + - patch/ros-noetic-actionlib.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost-cpp + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-roscpp + - ros-noetic-rosnode + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-std-msgs + run: + - boost-cpp + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-amcl/bld_catkin.bat b/recipes/ros-noetic-amcl/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-amcl/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-amcl/build_catkin.sh b/recipes/ros-noetic-amcl/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-amcl/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-amcl/recipe.yaml b/recipes/ros-noetic-amcl/recipe.yaml new file mode 100644 index 000000000..d32e41e52 --- /dev/null +++ b/recipes/ros-noetic-amcl/recipe.yaml @@ -0,0 +1,78 @@ +package: + name: ros-noetic-amcl + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/amcl/1.17.3-1 + folder: ros-noetic-amcl/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - python-orocos-kdl + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-map-server + - ros-noetic-message-filters + - ros-noetic-nav-msgs + - ros-noetic-rosbag + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-msgs + - ros-noetic-tf2-py + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-rosbag + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-base-local-planner/bld_catkin.bat b/recipes/ros-noetic-base-local-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-base-local-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-base-local-planner/build_catkin.sh b/recipes/ros-noetic-base-local-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-base-local-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-base-local-planner/recipe.yaml b/recipes/ros-noetic-base-local-planner/recipe.yaml new file mode 100644 index 000000000..89bed71c4 --- /dev/null +++ b/recipes/ros-noetic-base-local-planner/recipe.yaml @@ -0,0 +1,89 @@ +package: + name: ros-noetic-base-local-planner + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/base_local_planner/1.17.3-1 + folder: ros-noetic-base-local-planner/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - ros-noetic-voxel-grid + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - ros-noetic-voxel-grid + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-camera-calibration-parsers/bld_catkin.bat b/recipes/ros-noetic-camera-calibration-parsers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-camera-calibration-parsers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-camera-calibration-parsers/build_catkin.sh b/recipes/ros-noetic-camera-calibration-parsers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-camera-calibration-parsers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-camera-calibration-parsers/recipe.yaml b/recipes/ros-noetic-camera-calibration-parsers/recipe.yaml new file mode 100644 index 000000000..2776ff3c0 --- /dev/null +++ b/recipes/ros-noetic-camera-calibration-parsers/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-camera-calibration-parsers + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/image_common-release.git + git_rev: release/noetic/camera_calibration_parsers/1.12.0-1 + folder: ros-noetic-camera-calibration-parsers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosbash + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roscpp-serialization + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - yaml-cpp + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-roscpp + - ros-noetic-roscpp-serialization + - ros-noetic-sensor-msgs + - yaml-cpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-camera-calibration/bld_catkin.bat b/recipes/ros-noetic-camera-calibration/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-camera-calibration/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-camera-calibration/build_catkin.sh b/recipes/ros-noetic-camera-calibration/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-camera-calibration/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-camera-calibration/recipe.yaml b/recipes/ros-noetic-camera-calibration/recipe.yaml new file mode 100644 index 000000000..1be73b6c2 --- /dev/null +++ b/recipes/ros-noetic-camera-calibration/recipe.yaml @@ -0,0 +1,63 @@ +package: + name: ros-noetic-camera-calibration + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/camera_calibration/1.17.0-1 + folder: ros-noetic-camera-calibration/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-image-geometry + - ros-noetic-message-filters + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-srvs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-image-geometry + - ros-noetic-message-filters + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-srvs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-camera-info-manager/bld_catkin.bat b/recipes/ros-noetic-camera-info-manager/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-camera-info-manager/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-camera-info-manager/build_catkin.sh b/recipes/ros-noetic-camera-info-manager/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-camera-info-manager/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-camera-info-manager/recipe.yaml b/recipes/ros-noetic-camera-info-manager/recipe.yaml new file mode 100644 index 000000000..abceaa4c8 --- /dev/null +++ b/recipes/ros-noetic-camera-info-manager/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-camera-info-manager + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/image_common-release.git + git_rev: release/noetic/camera_info_manager/1.12.0-1 + folder: ros-noetic-camera-info-manager/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - gtest + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-catkin + - ros-noetic-image-transport + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rostest + - ros-noetic-sensor-msgs + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-image-transport + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-carrot-planner/bld_catkin.bat b/recipes/ros-noetic-carrot-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-carrot-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-carrot-planner/build_catkin.sh b/recipes/ros-noetic-carrot-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-carrot-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-carrot-planner/recipe.yaml b/recipes/ros-noetic-carrot-planner/recipe.yaml new file mode 100644 index 000000000..c4e861dff --- /dev/null +++ b/recipes/ros-noetic-carrot-planner/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-carrot-planner + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/carrot_planner/1.17.3-1 + folder: ros-noetic-carrot-planner/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-base-local-planner + - ros-noetic-catkin + - ros-noetic-costmap-2d + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-base-local-planner + - ros-noetic-costmap-2d + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-chomp-motion-planner/bld_catkin.bat b/recipes/ros-noetic-chomp-motion-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-chomp-motion-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-chomp-motion-planner/build_catkin.sh b/recipes/ros-noetic-chomp-motion-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-chomp-motion-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-chomp-motion-planner/patch/ros-noetic-chomp-motion-planner.osx.patch b/recipes/ros-noetic-chomp-motion-planner/patch/ros-noetic-chomp-motion-planner.osx.patch new file mode 100644 index 000000000..2721e4b6e --- /dev/null +++ b/recipes/ros-noetic-chomp-motion-planner/patch/ros-noetic-chomp-motion-planner.osx.patch @@ -0,0 +1,16 @@ +diff --git a/src/chomp_trajectory.cpp b/src/chomp_trajectory.cpp +index af2c9c9c0..8291b0135 100644 +--- a/src/chomp_trajectory.cpp ++++ b/src/chomp_trajectory.cpp +@@ -153,9 +153,10 @@ void ChompTrajectory::fillInMinJerk() + + // calculate the spline coefficients for each joint: + // (these are for the special case of zero start and end vel and acc) +- std::vector coeff(num_joints_); ++ std::vector> coeff(num_joints_); + for (size_t i = 0; i < num_joints_; i++) + { ++ coeff[i].resize(6); + double x0 = (*this)(start_index, i); + double x1 = (*this)(end_index, i); + coeff[i][0] = x0; diff --git a/recipes/ros-noetic-chomp-motion-planner/recipe.yaml b/recipes/ros-noetic-chomp-motion-planner/recipe.yaml new file mode 100644 index 000000000..128cc9d40 --- /dev/null +++ b/recipes/ros-noetic-chomp-motion-planner/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-chomp-motion-planner + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/chomp_motion_planner/1.1.13-2 + folder: ros-noetic-chomp-motion-planner/src/work + patches: + - patch/ros-noetic-chomp-motion-planner.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-core + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-clear-costmap-recovery/bld_catkin.bat b/recipes/ros-noetic-clear-costmap-recovery/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-clear-costmap-recovery/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-clear-costmap-recovery/build_catkin.sh b/recipes/ros-noetic-clear-costmap-recovery/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-clear-costmap-recovery/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-clear-costmap-recovery/recipe.yaml b/recipes/ros-noetic-clear-costmap-recovery/recipe.yaml new file mode 100644 index 000000000..f0f8a6775 --- /dev/null +++ b/recipes/ros-noetic-clear-costmap-recovery/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-clear-costmap-recovery + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/clear_costmap_recovery/1.17.3-1 + folder: ros-noetic-clear-costmap-recovery/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-tf2-ros + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-common-msgs/bld_catkin.bat b/recipes/ros-noetic-common-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-common-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-common-msgs/build_catkin.sh b/recipes/ros-noetic-common-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-common-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-common-msgs/recipe.yaml b/recipes/ros-noetic-common-msgs/recipe.yaml new file mode 100644 index 000000000..d11611c3b --- /dev/null +++ b/recipes/ros-noetic-common-msgs/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-common-msgs + version: 1.13.1 +source: + git_url: https://github.com/ros-gbp/common_msgs-release.git + git_rev: release/noetic/common_msgs/1.13.1-1 + folder: ros-noetic-common-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-stereo-msgs + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-diagnostic-msgs + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-stereo-msgs + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-common-tutorials/bld_catkin.bat b/recipes/ros-noetic-common-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-common-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-common-tutorials/build_catkin.sh b/recipes/ros-noetic-common-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-common-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-common-tutorials/recipe.yaml b/recipes/ros-noetic-common-tutorials/recipe.yaml new file mode 100644 index 000000000..36d062626 --- /dev/null +++ b/recipes/ros-noetic-common-tutorials/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-common-tutorials + version: 0.2.0 +source: + git_url: https://github.com/ros-gbp/common_tutorials-release.git + git_rev: release/noetic/common_tutorials/0.2.0-1 + folder: ros-noetic-common-tutorials/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-tutorials + - ros-noetic-catkin + - ros-noetic-nodelet-tutorial-math + - ros-noetic-pluginlib-tutorials + - ros-noetic-turtle-actionlib + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-tutorials + - ros-noetic-nodelet-tutorial-math + - ros-noetic-pluginlib-tutorials + - ros-noetic-turtle-actionlib + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-compressed-depth-image-transport/bld_catkin.bat b/recipes/ros-noetic-compressed-depth-image-transport/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-compressed-depth-image-transport/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-compressed-depth-image-transport/build_catkin.sh b/recipes/ros-noetic-compressed-depth-image-transport/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-compressed-depth-image-transport/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-compressed-depth-image-transport/recipe.yaml b/recipes/ros-noetic-compressed-depth-image-transport/recipe.yaml new file mode 100644 index 000000000..4f4bda8a3 --- /dev/null +++ b/recipes/ros-noetic-compressed-depth-image-transport/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-compressed-depth-image-transport + version: 1.14.0 +source: + git_url: https://github.com/ros-gbp/image_transport_plugins-release.git + git_rev: release/noetic/compressed_depth_image_transport/1.14.0-1 + folder: ros-noetic-compressed-depth-image-transport/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-compressed-image-transport/bld_catkin.bat b/recipes/ros-noetic-compressed-image-transport/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-compressed-image-transport/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-compressed-image-transport/build_catkin.sh b/recipes/ros-noetic-compressed-image-transport/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-compressed-image-transport/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-compressed-image-transport/recipe.yaml b/recipes/ros-noetic-compressed-image-transport/recipe.yaml new file mode 100644 index 000000000..3cabe02bf --- /dev/null +++ b/recipes/ros-noetic-compressed-image-transport/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-compressed-image-transport + version: 1.14.0 +source: + git_url: https://github.com/ros-gbp/image_transport_plugins-release.git + git_rev: release/noetic/compressed_image_transport/1.14.0-1 + folder: ros-noetic-compressed-image-transport/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-control-toolbox/bld_catkin.bat b/recipes/ros-noetic-control-toolbox/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-control-toolbox/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-control-toolbox/build_catkin.sh b/recipes/ros-noetic-control-toolbox/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-control-toolbox/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-control-toolbox/recipe.yaml b/recipes/ros-noetic-control-toolbox/recipe.yaml new file mode 100644 index 000000000..ecd1a8eeb --- /dev/null +++ b/recipes/ros-noetic-control-toolbox/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-control-toolbox + version: 1.19.0 +source: + git_url: https://github.com/ros-gbp/control_toolbox-release.git + git_rev: release/noetic/control_toolbox/1.19.0-1 + folder: ros-noetic-control-toolbox/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-control-msgs + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-generation + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-std-msgs + - tinyxml + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-control-msgs + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-runtime + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + - tinyxml + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-controller-manager-msgs/bld_catkin.bat b/recipes/ros-noetic-controller-manager-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-controller-manager-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-controller-manager-msgs/build_catkin.sh b/recipes/ros-noetic-controller-manager-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-controller-manager-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-controller-manager-msgs/recipe.yaml b/recipes/ros-noetic-controller-manager-msgs/recipe.yaml new file mode 100644 index 000000000..2db2cd811 --- /dev/null +++ b/recipes/ros-noetic-controller-manager-msgs/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-controller-manager-msgs + version: 0.20.0 +source: + git_url: https://github.com/ros-gbp/ros_control-release.git + git_rev: release/noetic/controller_manager_msgs/0.20.0-1 + folder: ros-noetic-controller-manager-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-std-msgs + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-controller-manager/bld_catkin.bat b/recipes/ros-noetic-controller-manager/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-controller-manager/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-controller-manager/build_catkin.sh b/recipes/ros-noetic-controller-manager/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-controller-manager/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-controller-manager/recipe.yaml b/recipes/ros-noetic-controller-manager/recipe.yaml new file mode 100644 index 000000000..6dbbb11f7 --- /dev/null +++ b/recipes/ros-noetic-controller-manager/recipe.yaml @@ -0,0 +1,65 @@ +package: + name: ros-noetic-controller-manager + version: 0.20.0 +source: + git_url: https://github.com/ros-gbp/ros_control-release.git + git_rev: release/noetic/controller_manager/0.20.0-1 + folder: ros-noetic-controller-manager/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-controller-manager-msgs + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-controller-manager-msgs + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rosparam + - ros-noetic-rospy + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-costmap-2d/bld_catkin.bat b/recipes/ros-noetic-costmap-2d/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-costmap-2d/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-costmap-2d/build_catkin.sh b/recipes/ros-noetic-costmap-2d/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-costmap-2d/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-costmap-2d/recipe.yaml b/recipes/ros-noetic-costmap-2d/recipe.yaml new file mode 100644 index 000000000..529e25d21 --- /dev/null +++ b/recipes/ros-noetic-costmap-2d/recipe.yaml @@ -0,0 +1,91 @@ +package: + name: ros-noetic-costmap-2d + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/costmap_2d/1.17.3-1 + folder: ros-noetic-costmap-2d/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-laser-geometry + - ros-noetic-map-msgs + - ros-noetic-map-server + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosbag + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-tf2-sensor-msgs + - ros-noetic-visualization-msgs + - ros-noetic-voxel-grid + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-laser-geometry + - ros-noetic-map-msgs + - ros-noetic-message-filters + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - ros-noetic-voxel-grid + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-cv-bridge/bld_catkin.bat b/recipes/ros-noetic-cv-bridge/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-cv-bridge/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-cv-bridge/build_catkin.sh b/recipes/ros-noetic-cv-bridge/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-cv-bridge/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-cv-bridge/patch/ros-noetic-cv-bridge.patch b/recipes/ros-noetic-cv-bridge/patch/ros-noetic-cv-bridge.patch new file mode 100644 index 000000000..c6f45d381 --- /dev/null +++ b/recipes/ros-noetic-cv-bridge/patch/ros-noetic-cv-bridge.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ef804b9..6dac00e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,27 +3,9 @@ project(cv_bridge) + + find_package(catkin REQUIRED COMPONENTS rosconsole sensor_msgs) + +-if(NOT ANDROID) +- find_package(PythonLibs) +- +- if(PYTHONLIBS_VERSION_STRING VERSION_LESS "3.8") +- # Debian Buster +- find_package(Boost REQUIRED python37) +- else() +- # Ubuntu Focal +- find_package(Boost REQUIRED python) +- endif() +-else() +-find_package(Boost REQUIRED) +-endif() +- +-set(_opencv_version 4) +-find_package(OpenCV 4 QUIET) +-if(NOT OpenCV_FOUND) +- message(STATUS "Did not find OpenCV 4, trying OpenCV 3") +- set(_opencv_version 3) +-endif() ++find_package(Boost REQUIRED python) + +-find_package(OpenCV ${_opencv_version} REQUIRED ++find_package(OpenCV 4 QUIET) ++find_package(OpenCV 4 REQUIRED + COMPONENTS + opencv_core \ No newline at end of file diff --git a/recipes/ros-noetic-cv-bridge/recipe.yaml b/recipes/ros-noetic-cv-bridge/recipe.yaml new file mode 100644 index 000000000..64c4c20cd --- /dev/null +++ b/recipes/ros-noetic-cv-bridge/recipe.yaml @@ -0,0 +1,76 @@ +package: + name: ros-noetic-cv-bridge + version: 1.16.2 +source: + git_url: https://github.com/ros-gbp/vision_opencv-release.git + git_rev: release/noetic/cv_bridge/1.16.2-1 + folder: ros-noetic-cv-bridge/src/work + patches: + - patch/ros-noetic-cv-bridge.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - boost + - libopencv + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - py-opencv + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosconsole + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - boost + - libopencv + - py-opencv + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosconsole + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-ddynamic-reconfigure/bld_catkin.bat b/recipes/ros-noetic-ddynamic-reconfigure/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ddynamic-reconfigure/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ddynamic-reconfigure/build_catkin.sh b/recipes/ros-noetic-ddynamic-reconfigure/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ddynamic-reconfigure/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ddynamic-reconfigure/recipe.yaml b/recipes/ros-noetic-ddynamic-reconfigure/recipe.yaml new file mode 100644 index 000000000..72ddeaa19 --- /dev/null +++ b/recipes/ros-noetic-ddynamic-reconfigure/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-ddynamic-reconfigure + version: 0.3.2 +source: + git_url: https://github.com/pal-gbp/ddynamic_reconfigure.git + git_rev: release/noetic/ddynamic_reconfigure/0.3.2-1 + folder: ros-noetic-ddynamic-reconfigure/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - gmock + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-roscpp + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-depth-image-proc/bld_catkin.bat b/recipes/ros-noetic-depth-image-proc/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-depth-image-proc/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-depth-image-proc/build_catkin.sh b/recipes/ros-noetic-depth-image-proc/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-depth-image-proc/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-depth-image-proc/recipe.yaml b/recipes/ros-noetic-depth-image-proc/recipe.yaml new file mode 100644 index 000000000..7ba492889 --- /dev/null +++ b/recipes/ros-noetic-depth-image-proc/recipe.yaml @@ -0,0 +1,72 @@ +package: + name: ros-noetic-depth-image-proc + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/depth_image_proc/1.17.0-1 + folder: ros-noetic-depth-image-proc/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-cv-bridge + - ros-noetic-eigen-conversions + - ros-noetic-image-geometry + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-stereo-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-eigen-conversions + - ros-noetic-image-geometry + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-desktop-full/bld_catkin.bat b/recipes/ros-noetic-desktop-full/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-desktop-full/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-desktop-full/build_catkin.sh b/recipes/ros-noetic-desktop-full/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-desktop-full/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-desktop-full/recipe.yaml b/recipes/ros-noetic-desktop-full/recipe.yaml new file mode 100644 index 000000000..aa200cfb8 --- /dev/null +++ b/recipes/ros-noetic-desktop-full/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-desktop-full + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/desktop_full/1.5.0-1 + folder: ros-noetic-desktop-full/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-desktop + - ros-noetic-perception + - ros-noetic-simulators + - ros-noetic-urdf-sim-tutorial + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-desktop/bld_catkin.bat b/recipes/ros-noetic-desktop/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-desktop/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-desktop/build_catkin.sh b/recipes/ros-noetic-desktop/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-desktop/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-desktop/recipe.yaml b/recipes/ros-noetic-desktop/recipe.yaml new file mode 100644 index 000000000..d82aea33c --- /dev/null +++ b/recipes/ros-noetic-desktop/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-desktop + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/desktop/1.5.0-1 + folder: ros-noetic-desktop/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-common-tutorials + - ros-noetic-geometry-tutorials + - ros-noetic-joint-state-publisher-gui + - ros-noetic-robot + - ros-noetic-ros-tutorials + - ros-noetic-roslint + - ros-noetic-urdf-tutorial + - ros-noetic-visualization-tutorials + - ros-noetic-viz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-diagnostic-analysis/bld_catkin.bat b/recipes/ros-noetic-diagnostic-analysis/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-diagnostic-analysis/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-diagnostic-analysis/build_catkin.sh b/recipes/ros-noetic-diagnostic-analysis/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-diagnostic-analysis/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-diagnostic-analysis/recipe.yaml b/recipes/ros-noetic-diagnostic-analysis/recipe.yaml new file mode 100644 index 000000000..4216cdf08 --- /dev/null +++ b/recipes/ros-noetic-diagnostic-analysis/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-diagnostic-analysis + version: 1.11.0 +source: + git_url: https://github.com/ros-gbp/diagnostics-release.git + git_rev: release/noetic/diagnostic_analysis/1.11.0-1 + folder: ros-noetic-diagnostic-analysis/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-rosbag + - ros-noetic-roslib + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-msgs + - ros-noetic-rosbag + - ros-noetic-roslib + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-diagnostic-common-diagnostics/bld_catkin.bat b/recipes/ros-noetic-diagnostic-common-diagnostics/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-diagnostic-common-diagnostics/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-diagnostic-common-diagnostics/build_catkin.sh b/recipes/ros-noetic-diagnostic-common-diagnostics/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-diagnostic-common-diagnostics/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-diagnostic-common-diagnostics/recipe.yaml b/recipes/ros-noetic-diagnostic-common-diagnostics/recipe.yaml new file mode 100644 index 000000000..d9a6d05c7 --- /dev/null +++ b/recipes/ros-noetic-diagnostic-common-diagnostics/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-diagnostic-common-diagnostics + version: 1.11.0 +source: + git_url: https://github.com/ros-gbp/diagnostics-release.git + git_rev: release/noetic/diagnostic_common_diagnostics/1.11.0-1 + folder: ros-noetic-diagnostic-common-diagnostics/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - psutil + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-updater + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-tf + run: + - psutil + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-updater + - ros-noetic-rospy + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-diagnostics/bld_catkin.bat b/recipes/ros-noetic-diagnostics/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-diagnostics/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-diagnostics/build_catkin.sh b/recipes/ros-noetic-diagnostics/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-diagnostics/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-diagnostics/recipe.yaml b/recipes/ros-noetic-diagnostics/recipe.yaml new file mode 100644 index 000000000..16797a77b --- /dev/null +++ b/recipes/ros-noetic-diagnostics/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-diagnostics + version: 1.11.0 +source: + git_url: https://github.com/ros-gbp/diagnostics-release.git + git_rev: release/noetic/diagnostics/1.11.0-1 + folder: ros-noetic-diagnostics/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-aggregator + - ros-noetic-diagnostic-analysis + - ros-noetic-diagnostic-common-diagnostics + - ros-noetic-diagnostic-updater + - ros-noetic-self-test + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-aggregator + - ros-noetic-diagnostic-analysis + - ros-noetic-diagnostic-common-diagnostics + - ros-noetic-diagnostic-updater + - ros-noetic-self-test + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-diff-drive-controller/bld_catkin.bat b/recipes/ros-noetic-diff-drive-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-diff-drive-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-diff-drive-controller/build_catkin.sh b/recipes/ros-noetic-diff-drive-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-diff-drive-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-diff-drive-controller/recipe.yaml b/recipes/ros-noetic-diff-drive-controller/recipe.yaml new file mode 100644 index 000000000..047df91a3 --- /dev/null +++ b/recipes/ros-noetic-diff-drive-controller/recipe.yaml @@ -0,0 +1,78 @@ +package: + name: ros-noetic-diff-drive-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/diff_drive_controller/0.21.2-1 + folder: ros-noetic-diff-drive-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-control-msgs + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-hardware-interface + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-rosgraph-msgs + - ros-noetic-rostest + - ros-noetic-rostopic + - ros-noetic-std-srvs + - ros-noetic-tf + - ros-noetic-urdf + - ros-noetic-xacro + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-control-msgs + - ros-noetic-controller-interface + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-hardware-interface + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-tf + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-dwa-local-planner/bld_catkin.bat b/recipes/ros-noetic-dwa-local-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-dwa-local-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-dwa-local-planner/build_catkin.sh b/recipes/ros-noetic-dwa-local-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-dwa-local-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-dwa-local-planner/recipe.yaml b/recipes/ros-noetic-dwa-local-planner/recipe.yaml new file mode 100644 index 000000000..c1d95e6e2 --- /dev/null +++ b/recipes/ros-noetic-dwa-local-planner/recipe.yaml @@ -0,0 +1,76 @@ +package: + name: ros-noetic-dwa-local-planner + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/dwa_local_planner/1.17.3-1 + folder: ros-noetic-dwa-local-planner/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-base-local-planner + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-base-local-planner + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-dynamic-reconfigure/bld_catkin.bat b/recipes/ros-noetic-dynamic-reconfigure/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-dynamic-reconfigure/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-dynamic-reconfigure/build_catkin.sh b/recipes/ros-noetic-dynamic-reconfigure/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-dynamic-reconfigure/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-dynamic-reconfigure/recipe.yaml b/recipes/ros-noetic-dynamic-reconfigure/recipe.yaml new file mode 100644 index 000000000..a4aa10209 --- /dev/null +++ b/recipes/ros-noetic-dynamic-reconfigure/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-dynamic-reconfigure + version: 1.7.3 +source: + git_url: https://github.com/ros-gbp/dynamic_reconfigure-release.git + git_rev: release/noetic/dynamic_reconfigure/1.7.3-1 + folder: ros-noetic-dynamic-reconfigure/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost-cpp + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cpp-common + - ros-noetic-message-generation + - ros-noetic-roscpp + - ros-noetic-roscpp-serialization + - ros-noetic-rostest + - ros-noetic-std-msgs + run: + - boost-cpp + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-effort-controllers/bld_catkin.bat b/recipes/ros-noetic-effort-controllers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-effort-controllers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-effort-controllers/build_catkin.sh b/recipes/ros-noetic-effort-controllers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-effort-controllers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-effort-controllers/recipe.yaml b/recipes/ros-noetic-effort-controllers/recipe.yaml new file mode 100644 index 000000000..ea6f58a9e --- /dev/null +++ b/recipes/ros-noetic-effort-controllers/recipe.yaml @@ -0,0 +1,77 @@ +package: + name: ros-noetic-effort-controllers + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/effort_controllers/0.21.2-1 + folder: ros-noetic-effort-controllers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-joint-state-controller + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-robot-state-publisher + - ros-noetic-roscpp + - ros-noetic-rosgraph-msgs + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-urdf + - ros-noetic-xacro + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-executive-smach/bld_catkin.bat b/recipes/ros-noetic-executive-smach/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-executive-smach/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-executive-smach/build_catkin.sh b/recipes/ros-noetic-executive-smach/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-executive-smach/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-executive-smach/recipe.yaml b/recipes/ros-noetic-executive-smach/recipe.yaml new file mode 100644 index 000000000..d842f4eeb --- /dev/null +++ b/recipes/ros-noetic-executive-smach/recipe.yaml @@ -0,0 +1,53 @@ +package: + name: ros-noetic-executive-smach + version: 2.5.2 +source: + git_url: https://github.com/ros-gbp/executive_smach-release.git + git_rev: release/noetic/executive_smach/2.5.2-1 + folder: ros-noetic-executive-smach/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-smach + - ros-noetic-smach-msgs + - ros-noetic-smach-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-fake-localization/bld_catkin.bat b/recipes/ros-noetic-fake-localization/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-fake-localization/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-fake-localization/build_catkin.sh b/recipes/ros-noetic-fake-localization/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-fake-localization/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-fake-localization/recipe.yaml b/recipes/ros-noetic-fake-localization/recipe.yaml new file mode 100644 index 000000000..4d3e30e5d --- /dev/null +++ b/recipes/ros-noetic-fake-localization/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-fake-localization + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/fake_localization/1.17.3-1 + folder: ros-noetic-fake-localization/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nav-msgs + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nav-msgs + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-force-torque-sensor-controller/bld_catkin.bat b/recipes/ros-noetic-force-torque-sensor-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-force-torque-sensor-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-force-torque-sensor-controller/build_catkin.sh b/recipes/ros-noetic-force-torque-sensor-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-force-torque-sensor-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-force-torque-sensor-controller/recipe.yaml b/recipes/ros-noetic-force-torque-sensor-controller/recipe.yaml new file mode 100644 index 000000000..aa3ee6f3f --- /dev/null +++ b/recipes/ros-noetic-force-torque-sensor-controller/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-force-torque-sensor-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/force_torque_sensor_controller/0.21.2-1 + folder: ros-noetic-force-torque-sensor-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-geometry-msgs + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-geometry-msgs + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-forward-command-controller/bld_catkin.bat b/recipes/ros-noetic-forward-command-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-forward-command-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-forward-command-controller/build_catkin.sh b/recipes/ros-noetic-forward-command-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-forward-command-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-forward-command-controller/recipe.yaml b/recipes/ros-noetic-forward-command-controller/recipe.yaml new file mode 100644 index 000000000..2d19469e4 --- /dev/null +++ b/recipes/ros-noetic-forward-command-controller/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-forward-command-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/forward_command_controller/0.21.2-1 + folder: ros-noetic-forward-command-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gazebo-msgs/bld_catkin.bat b/recipes/ros-noetic-gazebo-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gazebo-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gazebo-msgs/build_catkin.sh b/recipes/ros-noetic-gazebo-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gazebo-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gazebo-msgs/recipe.yaml b/recipes/ros-noetic-gazebo-msgs/recipe.yaml new file mode 100644 index 000000000..a206cd569 --- /dev/null +++ b/recipes/ros-noetic-gazebo-msgs/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-gazebo-msgs + version: 2.9.2 +source: + git_url: https://github.com/ros-gbp/gazebo_ros_pkgs-release.git + git_rev: release/noetic/gazebo_msgs/2.9.2-1 + folder: ros-noetic-gazebo-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-trajectory-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-trajectory-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gazebo-plugins/bld_catkin.bat b/recipes/ros-noetic-gazebo-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gazebo-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gazebo-plugins/build_catkin.sh b/recipes/ros-noetic-gazebo-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gazebo-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.osx.patch b/recipes/ros-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.osx.patch new file mode 100644 index 000000000..c2936c065 --- /dev/null +++ b/recipes/ros-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.osx.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0404e94..24c72cc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,6 +58,8 @@ generate_dynamic_reconfigure_options( + cfg/Hokuyo.cfg + ) + ++add_definitions(-D_LIBCPP_DISABLE_AVAILABILITY) ++ + include_directories(include + ${Boost_INCLUDE_DIRS} + ${catkin_INCLUDE_DIRS} diff --git a/recipes/ros-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.patch b/recipes/ros-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.patch new file mode 100644 index 000000000..c8fcde64c --- /dev/null +++ b/recipes/ros-noetic-gazebo-plugins/patch/ros-noetic-gazebo-plugins.patch @@ -0,0 +1,13 @@ +diff --git a/gazebo_plugins/CMakeLists.txt b/gazebo_plugins/CMakeLists.txt +index 38c94d1d1..29e421a71 100644 +--- a/gazebo_plugins/CMakeLists.txt ++++ b/gazebo_plugins/CMakeLists.txt +@@ -313,7 +313,7 @@ add_library(gazebo_ros_skid_steer_drive src/gazebo_ros_skid_steer_drive.cpp) + target_link_libraries(gazebo_ros_skid_steer_drive ${catkin_LIBRARIES} ${Boost_LIBRARIES}) + + add_library(gazebo_ros_video src/gazebo_ros_video.cpp) +-target_link_libraries(gazebo_ros_video ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${OGRE_LIBRARIES} ${opencv_LIBRARIES}) ++target_link_libraries(gazebo_ros_video ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${OGRE_LIBRARIES} ${OpenCV_LIBRARIES}) + + add_library(gazebo_ros_planar_move src/gazebo_ros_planar_move.cpp) + target_link_libraries(gazebo_ros_planar_move ${catkin_LIBRARIES} ${Boost_LIBRARIES}) diff --git a/recipes/ros-noetic-gazebo-plugins/recipe.yaml b/recipes/ros-noetic-gazebo-plugins/recipe.yaml new file mode 100644 index 000000000..dbf8f32d5 --- /dev/null +++ b/recipes/ros-noetic-gazebo-plugins/recipe.yaml @@ -0,0 +1,108 @@ +package: + name: ros-noetic-gazebo-plugins + version: 2.9.2 +source: + git_url: https://github.com/ros-gbp/gazebo_ros_pkgs-release.git + git_rev: release/noetic/gazebo_plugins/2.9.2-1 + folder: ros-noetic-gazebo-plugins/src/work + patches: + - patch/ros-noetic-gazebo-plugins.patch + - patch/ros-noetic-gazebo-plugins.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-camera-info-manager + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-gazebo-dev + - ros-noetic-gazebo-msgs + - ros-noetic-gazebo-ros + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-message-generation + - ros-noetic-nav-msgs + - ros-noetic-nodelet + - ros-noetic-polled-camera + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosgraph-msgs + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - tbb + - tbb-devel + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-camera-info-manager + - ros-noetic-cv-bridge + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-gazebo-dev + - ros-noetic-gazebo-msgs + - ros-noetic-gazebo-ros + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-nodelet + - ros-noetic-polled-camera + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosgraph-msgs + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gazebo-ros-control/bld_catkin.bat b/recipes/ros-noetic-gazebo-ros-control/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-control/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros-control/build_catkin.sh b/recipes/ros-noetic-gazebo-ros-control/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-control/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros-control/patch/ros-noetic-gazebo-ros-control.osx.patch b/recipes/ros-noetic-gazebo-ros-control/patch/ros-noetic-gazebo-ros-control.osx.patch new file mode 100644 index 000000000..f68fbf7f5 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-control/patch/ros-noetic-gazebo-ros-control.osx.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58304f3..c8c5f20 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,6 +32,8 @@ catkin_package( + LIBRARIES ${PROJECT_NAME} default_robot_hw_sim + ) + ++add_definitions(-D_LIBCPP_DISABLE_AVAILABILITY) ++ + link_directories( + ${catkin_LIBRARY_DIRS} + ) diff --git a/recipes/ros-noetic-gazebo-ros-control/recipe.yaml b/recipes/ros-noetic-gazebo-ros-control/recipe.yaml new file mode 100644 index 000000000..75323c141 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-control/recipe.yaml @@ -0,0 +1,76 @@ +package: + name: ros-noetic-gazebo-ros-control + version: 2.9.2 +source: + git_url: https://github.com/ros-gbp/gazebo_ros_pkgs-release.git + git_rev: release/noetic/gazebo_ros_control/2.9.2-1 + folder: ros-noetic-gazebo-ros-control/src/work + patches: + - patch/ros-noetic-gazebo-ros-control.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-control-toolbox + - ros-noetic-controller-manager + - ros-noetic-gazebo-dev + - ros-noetic-hardware-interface + - ros-noetic-joint-limits-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-transmission-interface + - ros-noetic-urdf + - tbb + - tbb-devel + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-control-toolbox + - ros-noetic-controller-manager + - ros-noetic-gazebo-ros + - ros-noetic-hardware-interface + - ros-noetic-joint-limits-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-transmission-interface + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gazebo-ros-pkgs/bld_catkin.bat b/recipes/ros-noetic-gazebo-ros-pkgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-pkgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros-pkgs/build_catkin.sh b/recipes/ros-noetic-gazebo-ros-pkgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-pkgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros-pkgs/recipe.yaml b/recipes/ros-noetic-gazebo-ros-pkgs/recipe.yaml new file mode 100644 index 000000000..3af7e610a --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros-pkgs/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-gazebo-ros-pkgs + version: 2.9.2 +source: + git_url: https://github.com/ros-gbp/gazebo_ros_pkgs-release.git + git_rev: release/noetic/gazebo_ros_pkgs/2.9.2-1 + folder: ros-noetic-gazebo-ros-pkgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-gazebo-dev + - ros-noetic-gazebo-msgs + - ros-noetic-gazebo-plugins + - ros-noetic-gazebo-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gazebo-ros/bld_catkin.bat b/recipes/ros-noetic-gazebo-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros/build_catkin.sh b/recipes/ros-noetic-gazebo-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gazebo-ros/patch/ros-noetic-gazebo-ros.osx.patch b/recipes/ros-noetic-gazebo-ros/patch/ros-noetic-gazebo-ros.osx.patch new file mode 100644 index 000000000..d60d7b794 --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros/patch/ros-noetic-gazebo-ros.osx.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1d5f7aa..8d1b0cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,6 +69,8 @@ catkin_package( + TinyXML + ) + ++add_definitions(-D_LIBCPP_DISABLE_AVAILABILITY) ++ + include_directories( + include + ${Boost_INCLUDE_DIRS} + diff --git a/recipes/ros-noetic-gazebo-ros/recipe.yaml b/recipes/ros-noetic-gazebo-ros/recipe.yaml new file mode 100644 index 000000000..704adbabf --- /dev/null +++ b/recipes/ros-noetic-gazebo-ros/recipe.yaml @@ -0,0 +1,77 @@ +package: + name: ros-noetic-gazebo-ros + version: 2.9.2 +source: + git_url: https://github.com/ros-gbp/gazebo_ros_pkgs-release.git + git_rev: release/noetic/gazebo_ros/2.9.2-1 + folder: ros-noetic-gazebo-ros/src/work + patches: + - patch/ros-noetic-gazebo-ros.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-dynamic-reconfigure + - ros-noetic-gazebo-dev + - ros-noetic-gazebo-msgs + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rosgraph-msgs + - ros-noetic-roslib + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - tbb + - tbb-devel + - tinyxml + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-gazebo-dev + - ros-noetic-gazebo-msgs + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rosgraph-msgs + - ros-noetic-roslib + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - tinyxml + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-geometry-tutorials/bld_catkin.bat b/recipes/ros-noetic-geometry-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-geometry-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-geometry-tutorials/build_catkin.sh b/recipes/ros-noetic-geometry-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-geometry-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-geometry-tutorials/recipe.yaml b/recipes/ros-noetic-geometry-tutorials/recipe.yaml new file mode 100644 index 000000000..42a55fd7a --- /dev/null +++ b/recipes/ros-noetic-geometry-tutorials/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-geometry-tutorials + version: 0.2.3 +source: + git_url: https://github.com/ros-gbp/geometry_tutorials-release.git + git_rev: release/noetic/geometry_tutorials/0.2.3-1 + folder: ros-noetic-geometry-tutorials/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-turtle-tf + - ros-noetic-turtle-tf2 + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-turtle-tf + - ros-noetic-turtle-tf2 + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-geometry/bld_catkin.bat b/recipes/ros-noetic-geometry/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-geometry/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-geometry/build_catkin.sh b/recipes/ros-noetic-geometry/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-geometry/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-geometry/recipe.yaml b/recipes/ros-noetic-geometry/recipe.yaml new file mode 100644 index 000000000..8aff8405c --- /dev/null +++ b/recipes/ros-noetic-geometry/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-geometry + version: 1.13.2 +source: + git_url: https://github.com/ros-gbp/geometry-release.git + git_rev: release/noetic/geometry/1.13.2-1 + folder: ros-noetic-geometry/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-eigen-conversions + - ros-noetic-kdl-conversions + - ros-noetic-tf + - ros-noetic-tf-conversions + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-eigen-conversions + - ros-noetic-kdl-conversions + - ros-noetic-tf + - ros-noetic-tf-conversions + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-geometry2/bld_catkin.bat b/recipes/ros-noetic-geometry2/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-geometry2/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-geometry2/build_catkin.sh b/recipes/ros-noetic-geometry2/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-geometry2/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-geometry2/recipe.yaml b/recipes/ros-noetic-geometry2/recipe.yaml new file mode 100644 index 000000000..eaa773492 --- /dev/null +++ b/recipes/ros-noetic-geometry2/recipe.yaml @@ -0,0 +1,70 @@ +package: + name: ros-noetic-geometry2 + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/geometry2/0.7.7-1 + folder: ros-noetic-geometry2/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-tf2 + - ros-noetic-tf2-bullet + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-kdl + - ros-noetic-tf2-msgs + - ros-noetic-tf2-py + - ros-noetic-tf2-ros + - ros-noetic-tf2-sensor-msgs + - ros-noetic-tf2-tools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-tf2 + - ros-noetic-tf2-bullet + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-kdl + - ros-noetic-tf2-msgs + - ros-noetic-tf2-py + - ros-noetic-tf2-ros + - ros-noetic-tf2-sensor-msgs + - ros-noetic-tf2-tools + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-global-planner/bld_catkin.bat b/recipes/ros-noetic-global-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-global-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-global-planner/build_catkin.sh b/recipes/ros-noetic-global-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-global-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-global-planner/recipe.yaml b/recipes/ros-noetic-global-planner/recipe.yaml new file mode 100644 index 000000000..712ab5a7e --- /dev/null +++ b/recipes/ros-noetic-global-planner/recipe.yaml @@ -0,0 +1,70 @@ +package: + name: ros-noetic-global-planner + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/global_planner/1.17.3-1 + folder: ros-noetic-global-planner/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-navfn + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-navfn + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gps-common/bld_catkin.bat b/recipes/ros-noetic-gps-common/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gps-common/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gps-common/build_catkin.sh b/recipes/ros-noetic-gps-common/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gps-common/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gps-common/recipe.yaml b/recipes/ros-noetic-gps-common/recipe.yaml new file mode 100644 index 000000000..001a33a16 --- /dev/null +++ b/recipes/ros-noetic-gps-common/recipe.yaml @@ -0,0 +1,65 @@ +package: + name: ros-noetic-gps-common + version: 0.3.4 +source: + git_url: https://github.com/swri-robotics-gbp/gps_umd-release.git + git_rev: release/noetic/gps_common/0.3.4-1 + folder: ros-noetic-gps-common/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-filters + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-gripper-action-controller/bld_catkin.bat b/recipes/ros-noetic-gripper-action-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-gripper-action-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-gripper-action-controller/build_catkin.sh b/recipes/ros-noetic-gripper-action-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-gripper-action-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-gripper-action-controller/recipe.yaml b/recipes/ros-noetic-gripper-action-controller/recipe.yaml new file mode 100644 index 000000000..5093aa215 --- /dev/null +++ b/recipes/ros-noetic-gripper-action-controller/recipe.yaml @@ -0,0 +1,67 @@ +package: + name: ros-noetic-gripper-action-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/gripper_action_controller/0.21.2-1 + folder: ros-noetic-gripper-action-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-urdf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-hector-trajectory-server/bld_catkin.bat b/recipes/ros-noetic-hector-trajectory-server/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-hector-trajectory-server/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-hector-trajectory-server/build_catkin.sh b/recipes/ros-noetic-hector-trajectory-server/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-hector-trajectory-server/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-hector-trajectory-server/recipe.yaml b/recipes/ros-noetic-hector-trajectory-server/recipe.yaml new file mode 100644 index 000000000..34952af40 --- /dev/null +++ b/recipes/ros-noetic-hector-trajectory-server/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-hector-trajectory-server + version: 0.5.2 +source: + git_url: https://github.com/tu-darmstadt-ros-pkg-gbp/hector_slam-release.git + git_rev: release/noetic/hector_trajectory_server/0.5.2-4 + folder: ros-noetic-hector-trajectory-server/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-hector-map-tools + - ros-noetic-hector-nav-msgs + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-hector-map-tools + - ros-noetic-hector-nav-msgs + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-hls-lfcd-lds-driver/bld_catkin.bat b/recipes/ros-noetic-hls-lfcd-lds-driver/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-hls-lfcd-lds-driver/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-hls-lfcd-lds-driver/build_catkin.sh b/recipes/ros-noetic-hls-lfcd-lds-driver/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-hls-lfcd-lds-driver/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-hls-lfcd-lds-driver/recipe.yaml b/recipes/ros-noetic-hls-lfcd-lds-driver/recipe.yaml new file mode 100644 index 000000000..4a6fac633 --- /dev/null +++ b/recipes/ros-noetic-hls-lfcd-lds-driver/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-hls-lfcd-lds-driver + version: 1.1.2 +source: + git_url: https://github.com/ROBOTIS-GIT-release/hls-lfcd-lds-driver-release.git + git_rev: release/noetic/hls_lfcd_lds_driver/1.1.2-1 + folder: ros-noetic-hls-lfcd-lds-driver/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-common/bld_catkin.bat b/recipes/ros-noetic-image-common/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-common/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-common/build_catkin.sh b/recipes/ros-noetic-image-common/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-common/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-common/recipe.yaml b/recipes/ros-noetic-image-common/recipe.yaml new file mode 100644 index 000000000..161ed0d8a --- /dev/null +++ b/recipes/ros-noetic-image-common/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-image-common + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/image_common-release.git + git_rev: release/noetic/image_common/1.12.0-1 + folder: ros-noetic-image-common/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-camera-info-manager + - ros-noetic-catkin + - ros-noetic-image-transport + - ros-noetic-polled-camera + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-camera-info-manager + - ros-noetic-image-transport + - ros-noetic-polled-camera + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-geometry/bld_catkin.bat b/recipes/ros-noetic-image-geometry/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-geometry/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-geometry/build_catkin.sh b/recipes/ros-noetic-image-geometry/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-geometry/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-geometry/recipe.yaml b/recipes/ros-noetic-image-geometry/recipe.yaml new file mode 100644 index 000000000..3191ced56 --- /dev/null +++ b/recipes/ros-noetic-image-geometry/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-image-geometry + version: 1.16.2 +source: + git_url: https://github.com/ros-gbp/vision_opencv-release.git + git_rev: release/noetic/image_geometry/1.16.2-1 + folder: ros-noetic-image-geometry/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - libopencv + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - py-opencv + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-sensor-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - libopencv + - py-opencv + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-image-pipeline/bld_catkin.bat b/recipes/ros-noetic-image-pipeline/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-pipeline/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-pipeline/build_catkin.sh b/recipes/ros-noetic-image-pipeline/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-pipeline/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-pipeline/recipe.yaml b/recipes/ros-noetic-image-pipeline/recipe.yaml new file mode 100644 index 000000000..39e974c7c --- /dev/null +++ b/recipes/ros-noetic-image-pipeline/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-image-pipeline + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/image_pipeline/1.17.0-1 + folder: ros-noetic-image-pipeline/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration + - ros-noetic-catkin + - ros-noetic-depth-image-proc + - ros-noetic-image-proc + - ros-noetic-image-publisher + - ros-noetic-image-rotate + - ros-noetic-image-view + - ros-noetic-stereo-image-proc + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration + - ros-noetic-depth-image-proc + - ros-noetic-image-proc + - ros-noetic-image-publisher + - ros-noetic-image-rotate + - ros-noetic-image-view + - ros-noetic-stereo-image-proc + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-proc/bld_catkin.bat b/recipes/ros-noetic-image-proc/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-proc/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-proc/build_catkin.sh b/recipes/ros-noetic-image-proc/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-proc/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-proc/recipe.yaml b/recipes/ros-noetic-image-proc/recipe.yaml new file mode 100644 index 000000000..d209ca26c --- /dev/null +++ b/recipes/ros-noetic-image-proc/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-image-proc + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/image_proc/1.17.0-1 + folder: ros-noetic-image-proc/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-geometry + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-nodelet-topic-tools + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-geometry + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-nodelet-topic-tools + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-publisher/bld_catkin.bat b/recipes/ros-noetic-image-publisher/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-publisher/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-publisher/build_catkin.sh b/recipes/ros-noetic-image-publisher/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-publisher/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-publisher/recipe.yaml b/recipes/ros-noetic-image-publisher/recipe.yaml new file mode 100644 index 000000000..defae2a70 --- /dev/null +++ b/recipes/ros-noetic-image-publisher/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-image-publisher + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/image_publisher/1.17.0-1 + folder: ros-noetic-image-publisher/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-info-manager + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-info-manager + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-rotate/bld_catkin.bat b/recipes/ros-noetic-image-rotate/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-rotate/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-rotate/build_catkin.sh b/recipes/ros-noetic-image-rotate/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-rotate/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-rotate/recipe.yaml b/recipes/ros-noetic-image-rotate/recipe.yaml new file mode 100644 index 000000000..fd1ea8e6f --- /dev/null +++ b/recipes/ros-noetic-image-rotate/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-image-rotate + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/image_rotate/1.17.0-1 + folder: ros-noetic-image-rotate/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-transport-plugins/bld_catkin.bat b/recipes/ros-noetic-image-transport-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-transport-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-transport-plugins/build_catkin.sh b/recipes/ros-noetic-image-transport-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-transport-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-transport-plugins/recipe.yaml b/recipes/ros-noetic-image-transport-plugins/recipe.yaml new file mode 100644 index 000000000..6e6130800 --- /dev/null +++ b/recipes/ros-noetic-image-transport-plugins/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-image-transport-plugins + version: 1.14.0 +source: + git_url: https://github.com/ros-gbp/image_transport_plugins-release.git + git_rev: release/noetic/image_transport_plugins/1.14.0-1 + folder: ros-noetic-image-transport-plugins/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-compressed-depth-image-transport + - ros-noetic-compressed-image-transport + - ros-noetic-theora-image-transport + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-compressed-depth-image-transport + - ros-noetic-compressed-image-transport + - ros-noetic-theora-image-transport + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-transport/bld_catkin.bat b/recipes/ros-noetic-image-transport/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-transport/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-transport/build_catkin.sh b/recipes/ros-noetic-image-transport/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-transport/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-transport/recipe.yaml b/recipes/ros-noetic-image-transport/recipe.yaml new file mode 100644 index 000000000..4cdedaadf --- /dev/null +++ b/recipes/ros-noetic-image-transport/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-image-transport + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/image_common-release.git + git_rev: release/noetic/image_transport/1.12.0-1 + folder: ros-noetic-image-transport/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-filters + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-filters + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-image-view/bld_catkin.bat b/recipes/ros-noetic-image-view/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-image-view/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-image-view/build_catkin.sh b/recipes/ros-noetic-image-view/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-image-view/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-image-view/recipe.yaml b/recipes/ros-noetic-image-view/recipe.yaml new file mode 100644 index 000000000..f567bb572 --- /dev/null +++ b/recipes/ros-noetic-image-view/recipe.yaml @@ -0,0 +1,85 @@ +package: + name: ros-noetic-image-view + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/image_view/1.17.0-1 + folder: ros-noetic-image-view/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-nodelet + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-srvs + - ros-noetic-stereo-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-camera-calibration-parsers + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-std-srvs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-imu-complementary-filter/bld_catkin.bat b/recipes/ros-noetic-imu-complementary-filter/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-imu-complementary-filter/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-imu-complementary-filter/build_catkin.sh b/recipes/ros-noetic-imu-complementary-filter/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-imu-complementary-filter/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-imu-complementary-filter/recipe.yaml b/recipes/ros-noetic-imu-complementary-filter/recipe.yaml new file mode 100644 index 000000000..59b193380 --- /dev/null +++ b/recipes/ros-noetic-imu-complementary-filter/recipe.yaml @@ -0,0 +1,67 @@ +package: + name: ros-noetic-imu-complementary-filter + version: 1.2.6 +source: + git_url: https://github.com/uos-gbp/imu_tools-release.git + git_rev: release/noetic/imu_complementary_filter/1.2.6-1 + folder: ros-noetic-imu-complementary-filter/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-imu-filter-madgwick/bld_catkin.bat b/recipes/ros-noetic-imu-filter-madgwick/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-imu-filter-madgwick/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-imu-filter-madgwick/build_catkin.sh b/recipes/ros-noetic-imu-filter-madgwick/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-imu-filter-madgwick/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-imu-filter-madgwick/recipe.yaml b/recipes/ros-noetic-imu-filter-madgwick/recipe.yaml new file mode 100644 index 000000000..1c6541f9a --- /dev/null +++ b/recipes/ros-noetic-imu-filter-madgwick/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-imu-filter-madgwick + version: 1.2.6 +source: + git_url: https://github.com/uos-gbp/imu_tools-release.git + git_rev: release/noetic/imu_filter_madgwick/1.2.6-1 + folder: ros-noetic-imu-filter-madgwick/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-imu-sensor-controller/bld_catkin.bat b/recipes/ros-noetic-imu-sensor-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-imu-sensor-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-imu-sensor-controller/build_catkin.sh b/recipes/ros-noetic-imu-sensor-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-imu-sensor-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-imu-sensor-controller/recipe.yaml b/recipes/ros-noetic-imu-sensor-controller/recipe.yaml new file mode 100644 index 000000000..300521467 --- /dev/null +++ b/recipes/ros-noetic-imu-sensor-controller/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-imu-sensor-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/imu_sensor_controller/0.21.2-1 + folder: ros-noetic-imu-sensor-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-imu-tools/bld_catkin.bat b/recipes/ros-noetic-imu-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-imu-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-imu-tools/build_catkin.sh b/recipes/ros-noetic-imu-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-imu-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-imu-tools/recipe.yaml b/recipes/ros-noetic-imu-tools/recipe.yaml new file mode 100644 index 000000000..84cfbd751 --- /dev/null +++ b/recipes/ros-noetic-imu-tools/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-imu-tools + version: 1.2.6 +source: + git_url: https://github.com/uos-gbp/imu_tools-release.git + git_rev: release/noetic/imu_tools/1.2.6-1 + folder: ros-noetic-imu-tools/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-imu-complementary-filter + - ros-noetic-imu-filter-madgwick + - ros-noetic-rviz-imu-plugin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-imu-complementary-filter + - ros-noetic-imu-filter-madgwick + - ros-noetic-rviz-imu-plugin + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-interactive-marker-tutorials/bld_catkin.bat b/recipes/ros-noetic-interactive-marker-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-interactive-marker-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-interactive-marker-tutorials/build_catkin.sh b/recipes/ros-noetic-interactive-marker-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-interactive-marker-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-interactive-marker-tutorials/patch/ros-noetic-interactive-marker-tutorials.patch b/recipes/ros-noetic-interactive-marker-tutorials/patch/ros-noetic-interactive-marker-tutorials.patch new file mode 100644 index 000000000..31758ea76 --- /dev/null +++ b/recipes/ros-noetic-interactive-marker-tutorials/patch/ros-noetic-interactive-marker-tutorials.patch @@ -0,0 +1,45 @@ +diff --git a/scripts/menu.py b/scripts/menu.py +index e2d1854..dc93108 100755 +--- a/scripts/menu.py ++++ b/scripts/menu.py +@@ -29,6 +29,8 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + """ + ++from __future__ import print_function ++ + import rospy + + from interactive_markers.interactive_marker_server import * +@@ -68,7 +70,7 @@ def modeCb(feedback): + + rospy.loginfo("Switching to menu entry #" + str(h_mode_last)) + menu_handler.reApply( server ) +- print "DONE" ++ print("DONE") + server.applyChanges() + + def makeBox( msg ): +diff --git a/scripts/simple_marker.py b/scripts/simple_marker.py +index fe44c12..0d13c9a 100755 +--- a/scripts/simple_marker.py ++++ b/scripts/simple_marker.py +@@ -29,6 +29,8 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + """ + ++from __future__ import print_function ++ + import rospy + + from interactive_markers.interactive_marker_server import * +@@ -36,7 +38,7 @@ from visualization_msgs.msg import * + + def processFeedback(feedback): + p = feedback.pose.position +- print feedback.marker_name + " is now at " + str(p.x) + ", " + str(p.y) + ", " + str(p.z) ++ print(feedback.marker_name + " is now at " + str(p.x) + ", " + str(p.y) + ", " + str(p.z)) + + if __name__=="__main__": + rospy.init_node("simple_marker") + diff --git a/recipes/ros-noetic-interactive-marker-tutorials/recipe.yaml b/recipes/ros-noetic-interactive-marker-tutorials/recipe.yaml new file mode 100644 index 000000000..83be5ed77 --- /dev/null +++ b/recipes/ros-noetic-interactive-marker-tutorials/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-interactive-marker-tutorials + version: 0.11.0 +source: + git_url: https://github.com/ros-gbp/visualization_tutorials-release.git + git_rev: release/noetic/interactive_marker_tutorials/0.11.0-1 + folder: ros-noetic-interactive-marker-tutorials/src/work + patches: + - patch/ros-noetic-interactive-marker-tutorials.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-interactive-markers + - ros-noetic-roscpp + - ros-noetic-tf + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-interactive-markers + - ros-noetic-roscpp + - ros-noetic-tf + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-interactive-markers/bld_catkin.bat b/recipes/ros-noetic-interactive-markers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-interactive-markers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-interactive-markers/build_catkin.sh b/recipes/ros-noetic-interactive-markers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-interactive-markers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-interactive-markers/recipe.yaml b/recipes/ros-noetic-interactive-markers/recipe.yaml new file mode 100644 index 000000000..b35e9c723 --- /dev/null +++ b/recipes/ros-noetic-interactive-markers/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-interactive-markers + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/interactive_markers-release.git + git_rev: release/noetic/interactive_markers/1.12.0-1 + folder: ros-noetic-interactive-markers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-joint-state-controller/bld_catkin.bat b/recipes/ros-noetic-joint-state-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-joint-state-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-joint-state-controller/build_catkin.sh b/recipes/ros-noetic-joint-state-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-joint-state-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-joint-state-controller/recipe.yaml b/recipes/ros-noetic-joint-state-controller/recipe.yaml new file mode 100644 index 000000000..136e24621 --- /dev/null +++ b/recipes/ros-noetic-joint-state-controller/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-joint-state-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/joint_state_controller/0.21.2-1 + folder: ros-noetic-joint-state-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-joint-state-publisher-gui/bld_catkin.bat b/recipes/ros-noetic-joint-state-publisher-gui/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher-gui/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-joint-state-publisher-gui/build_catkin.sh b/recipes/ros-noetic-joint-state-publisher-gui/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher-gui/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-joint-state-publisher-gui/patch/ros-noetic-joint-state-publisher-gui.patch b/recipes/ros-noetic-joint-state-publisher-gui/patch/ros-noetic-joint-state-publisher-gui.patch new file mode 100644 index 000000000..f6baef1b2 --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher-gui/patch/ros-noetic-joint-state-publisher-gui.patch @@ -0,0 +1,22 @@ +diff --git a/src/joint_state_publisher_gui/__init__.py b/src/joint_state_publisher_gui/__init__.py +index b4aa139..71b2ca1 100644 +--- a/src/joint_state_publisher_gui/__init__.py ++++ b/src/joint_state_publisher_gui/__init__.py +@@ -100,7 +100,7 @@ class JointStatePublisherGui(QWidget): + + slider.setFont(font) + slider.setRange(0, RANGE) +- slider.setValue(RANGE/2) ++ slider.setValue(int(RANGE/2)) + + joint_layout.addWidget(slider) + +@@ -222,7 +222,7 @@ class JointStatePublisherGui(QWidget): + self.update_sliders() + + def valueToSlider(self, value, joint): +- return (value - joint['min']) * float(RANGE) / (joint['max'] - joint['min']) ++ return int((value - joint['min']) * float(RANGE) / (joint['max'] - joint['min'])) + + def sliderToValue(self, slider, joint): + pctvalue = slider / float(RANGE) diff --git a/recipes/ros-noetic-joint-state-publisher-gui/recipe.yaml b/recipes/ros-noetic-joint-state-publisher-gui/recipe.yaml new file mode 100644 index 000000000..a2c540472 --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher-gui/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-joint-state-publisher-gui + version: 1.15.1 +source: + git_url: https://github.com/ros-gbp/joint_state_publisher-release.git + git_rev: release/noetic/joint_state_publisher_gui/1.15.1-1 + folder: ros-noetic-joint-state-publisher-gui/src/work + patches: + - patch/ros-noetic-joint-state-publisher-gui.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-state-publisher + - ros-noetic-python-qt-binding + - ros-noetic-rospy + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-joint-state-publisher/bld_catkin.bat b/recipes/ros-noetic-joint-state-publisher/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-joint-state-publisher/build_catkin.sh b/recipes/ros-noetic-joint-state-publisher/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-joint-state-publisher/recipe.yaml b/recipes/ros-noetic-joint-state-publisher/recipe.yaml new file mode 100644 index 000000000..424ffc867 --- /dev/null +++ b/recipes/ros-noetic-joint-state-publisher/recipe.yaml @@ -0,0 +1,53 @@ +package: + name: ros-noetic-joint-state-publisher + version: 1.15.1 +source: + git_url: https://github.com/ros-gbp/joint_state_publisher-release.git + git_rev: release/noetic/joint_state_publisher/1.15.1-1 + folder: ros-noetic-joint-state-publisher/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-joint-trajectory-controller/bld_catkin.bat b/recipes/ros-noetic-joint-trajectory-controller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-joint-trajectory-controller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-joint-trajectory-controller/build_catkin.sh b/recipes/ros-noetic-joint-trajectory-controller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-joint-trajectory-controller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-joint-trajectory-controller/recipe.yaml b/recipes/ros-noetic-joint-trajectory-controller/recipe.yaml new file mode 100644 index 000000000..db455ad97 --- /dev/null +++ b/recipes/ros-noetic-joint-trajectory-controller/recipe.yaml @@ -0,0 +1,78 @@ +package: + name: ros-noetic-joint-trajectory-controller + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/joint_trajectory_controller/0.21.2-1 + folder: ros-noetic-joint-trajectory-controller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-code-coverage + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-controller-manager + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - ros-noetic-xacro + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-angles + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-laser-assembler/bld_catkin.bat b/recipes/ros-noetic-laser-assembler/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-laser-assembler/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-laser-assembler/build_catkin.sh b/recipes/ros-noetic-laser-assembler/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-laser-assembler/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-laser-assembler/recipe.yaml b/recipes/ros-noetic-laser-assembler/recipe.yaml new file mode 100644 index 000000000..d827f662c --- /dev/null +++ b/recipes/ros-noetic-laser-assembler/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-laser-assembler + version: 1.7.8 +source: + git_url: https://github.com/ros-gbp/laser_assembler-release.git + git_rev: release/noetic/laser_assembler/1.7.8-1 + folder: ros-noetic-laser-assembler/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-filters + - ros-noetic-laser-geometry + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-filters + - ros-noetic-laser-geometry + - ros-noetic-message-filters + - ros-noetic-message-runtime + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-laser-filters/bld_catkin.bat b/recipes/ros-noetic-laser-filters/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-laser-filters/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-laser-filters/build_catkin.sh b/recipes/ros-noetic-laser-filters/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-laser-filters/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-laser-filters/recipe.yaml b/recipes/ros-noetic-laser-filters/recipe.yaml new file mode 100644 index 000000000..df246d0fa --- /dev/null +++ b/recipes/ros-noetic-laser-filters/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-laser-filters + version: 1.9.0 +source: + git_url: https://github.com/ros-gbp/laser_filters-release.git + git_rev: release/noetic/laser_filters/1.9.0-1 + folder: ros-noetic-laser-filters/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-filters + - ros-noetic-laser-geometry + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-dynamic-reconfigure + - ros-noetic-filters + - ros-noetic-laser-geometry + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-laser-geometry/bld_catkin.bat b/recipes/ros-noetic-laser-geometry/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-laser-geometry/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-laser-geometry/build_catkin.sh b/recipes/ros-noetic-laser-geometry/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-laser-geometry/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-laser-geometry/recipe.yaml b/recipes/ros-noetic-laser-geometry/recipe.yaml new file mode 100644 index 000000000..27fd9be11 --- /dev/null +++ b/recipes/ros-noetic-laser-geometry/recipe.yaml @@ -0,0 +1,67 @@ +package: + name: ros-noetic-laser-geometry + version: 1.6.7 +source: + git_url: https://github.com/ros-gbp/laser_geometry-release.git + git_rev: release/noetic/laser_geometry/1.6.7-1 + folder: ros-noetic-laser-geometry/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-tf + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + run: + - boost + - eigen + - numpy + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf + - ros-noetic-tf2 + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-laser-pipeline/bld_catkin.bat b/recipes/ros-noetic-laser-pipeline/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-laser-pipeline/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-laser-pipeline/build_catkin.sh b/recipes/ros-noetic-laser-pipeline/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-laser-pipeline/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-laser-pipeline/recipe.yaml b/recipes/ros-noetic-laser-pipeline/recipe.yaml new file mode 100644 index 000000000..3cde97d33 --- /dev/null +++ b/recipes/ros-noetic-laser-pipeline/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-laser-pipeline + version: 1.6.4 +source: + git_url: https://github.com/ros-gbp/laser_pipeline-release.git + git_rev: release/noetic/laser_pipeline/1.6.4-1 + folder: ros-noetic-laser-pipeline/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-laser-assembler + - ros-noetic-laser-filters + - ros-noetic-laser-geometry + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-laser-assembler + - ros-noetic-laser-filters + - ros-noetic-laser-geometry + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-laser-proc/bld_catkin.bat b/recipes/ros-noetic-laser-proc/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-laser-proc/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-laser-proc/build_catkin.sh b/recipes/ros-noetic-laser-proc/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-laser-proc/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-laser-proc/recipe.yaml b/recipes/ros-noetic-laser-proc/recipe.yaml new file mode 100644 index 000000000..1ea539e0d --- /dev/null +++ b/recipes/ros-noetic-laser-proc/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-laser-proc + version: 0.1.6 +source: + git_url: https://github.com/ros-gbp/laser_proc-release.git + git_rev: release/noetic/laser_proc/0.1.6-1 + folder: ros-noetic-laser-proc/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-librviz-tutorial/bld_catkin.bat b/recipes/ros-noetic-librviz-tutorial/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-librviz-tutorial/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-librviz-tutorial/build_catkin.sh b/recipes/ros-noetic-librviz-tutorial/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-librviz-tutorial/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-librviz-tutorial/patch/ros-noetic-librviz-tutorial.patch b/recipes/ros-noetic-librviz-tutorial/patch/ros-noetic-librviz-tutorial.patch new file mode 100644 index 000000000..c405d0eea --- /dev/null +++ b/recipes/ros-noetic-librviz-tutorial/patch/ros-noetic-librviz-tutorial.patch @@ -0,0 +1,23 @@ +diff --git a/librviz_tutorial/CMakeLists.txt b/librviz_tutorial/CMakeLists.txt +index cc430f33..3490fa76 100644 +--- a/librviz_tutorial/CMakeLists.txt ++++ b/librviz_tutorial/CMakeLists.txt +@@ -13,6 +13,18 @@ link_directories(${catkin_LIBRARY_DIRS}) + ## This setting causes Qt's "MOC" generation to happen automatically. + set(CMAKE_AUTOMOC ON) + ++if(${CMAKE_C_COMPILER_ID} STREQUAL "Clang" AND ${CMAKE_C_COMPILER_VERSION} VERSION_GREATER_EQUAL "11") ++ # newer Clang chokes on the idiomatic way to use CF_ENUM; e.g. like this: ++ # typedef CF_ENUM(int, MyEnum) { ++ # MY_ENUM_THING, ++ # MY_ENUM_OTHER_THING, ++ # # etc... ++ # } ++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wno-undef-prefix") ++endif() ++ + ## This plugin includes Qt widgets, so we must include Qt. + ## We'll use the version that rviz used so they are compatible. + if(rviz_QT_VERSION VERSION_LESS "5") diff --git a/recipes/ros-noetic-librviz-tutorial/recipe.yaml b/recipes/ros-noetic-librviz-tutorial/recipe.yaml new file mode 100644 index 000000000..0a484941f --- /dev/null +++ b/recipes/ros-noetic-librviz-tutorial/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-librviz-tutorial + version: 0.11.0 +source: + git_url: https://github.com/ros-gbp/visualization_tutorials-release.git + git_rev: release/noetic/librviz_tutorial/0.11.0-1 + folder: ros-noetic-librviz-tutorial/src/work + patches: + - patch/ros-noetic-librviz-tutorial.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-rviz + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-roscpp + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-map-msgs/bld_catkin.bat b/recipes/ros-noetic-map-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-map-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-map-msgs/build_catkin.sh b/recipes/ros-noetic-map-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-map-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-map-msgs/recipe.yaml b/recipes/ros-noetic-map-msgs/recipe.yaml new file mode 100644 index 000000000..3f29c87e8 --- /dev/null +++ b/recipes/ros-noetic-map-msgs/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-map-msgs + version: 1.14.1 +source: + git_url: https://github.com/ros-gbp/navigation_msgs-release.git + git_rev: release/noetic/map_msgs/1.14.1-1 + folder: ros-noetic-map-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-mavros-msgs/bld_catkin.bat b/recipes/ros-noetic-mavros-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-mavros-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-mavros-msgs/build_catkin.sh b/recipes/ros-noetic-mavros-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-mavros-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-mavros-msgs/recipe.yaml b/recipes/ros-noetic-mavros-msgs/recipe.yaml new file mode 100644 index 000000000..e5aa22077 --- /dev/null +++ b/recipes/ros-noetic-mavros-msgs/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-mavros-msgs + version: 1.17.0 +source: + git_url: https://github.com/mavlink/mavros-release.git + git_rev: release/noetic/mavros_msgs/1.17.0-1 + folder: ros-noetic-mavros-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geographic-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geographic-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-microstrain-inertial-driver/bld_catkin.bat b/recipes/ros-noetic-microstrain-inertial-driver/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-microstrain-inertial-driver/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-microstrain-inertial-driver/build_catkin.sh b/recipes/ros-noetic-microstrain-inertial-driver/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-microstrain-inertial-driver/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-microstrain-inertial-driver/patch/ros-noetic-microstrain-inertial-driver.patch b/recipes/ros-noetic-microstrain-inertial-driver/patch/ros-noetic-microstrain-inertial-driver.patch new file mode 100644 index 000000000..e772b6637 --- /dev/null +++ b/recipes/ros-noetic-microstrain-inertial-driver/patch/ros-noetic-microstrain-inertial-driver.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9192d7f..9be8dd3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -128,7 +128,6 @@ catkin_package( + include_directories(${catkin_INCLUDE_DIRS} include ${COMMON_DIR}/include) + + # Set some general CMake flags +-add_definitions(-std=c++11) + set(CMAKE_C_FLAGS "-Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-format -fno-builtin-memcpy") + + set(LIB_SRC_FILES +@@ -198,11 +198,7 @@ set_source_files_properties(${COMMON_SRC_DIR}/services.cpp PROPERTIES COMPILE_OP + add_definitions(-DMICROSTRAIN_DRIVER_VERSION="${DRIVER_GIT_VERSION}") + + # Let the code know if it is being compiled with ROS1 or ROS2 +-if(DEFINED ENV{ROS_VERSION}) +- add_definitions(-DMICROSTRAIN_ROS_VERSION=$ENV{ROS_VERSION}) +-else() +- message(FATAL_ERROR "ROS_VERSION environment variable is not set.") +-endif() ++add_definitions(-DMICROSTRAIN_ROS_VERSION=1) + + # Allow the MSCL include directory to be accessed + include_directories(${MSCL_INC_PATH} ${BOOST_INC_PATH}) + +diff --git a/microstrain_inertial_driver_common/include/microstrain_inertial_driver_common/utils/ros_compat.h b/microstrain_inertial_driver_common/include/microstrain_inertial_driver_common/utils/ros_compat.h +index cc87fb6..9a79e3c 100644 +--- a/microstrain_inertial_driver_common/include/microstrain_inertial_driver_common/utils/ros_compat.h ++++ b/microstrain_inertial_driver_common/include/microstrain_inertial_driver_common/utils/ros_compat.h +@@ -565,7 +565,7 @@ template + RosTimerType createTimer(RosNodeType* node, double hz, void (ClassType::*fp)(), ClassType* obj) + { + return std::make_shared<::ros::Timer>( +- node->template createTimer(ros::Duration(1.0 / hz), [=](const ros::TimerEvent& event) { (obj->*fp)(); })); ++ node->createTimer(::ros::Duration(1.0 / hz), [obj, fp](const ::ros::TimerEvent&) { (obj->*fp)(); })); + } + + /** diff --git a/recipes/ros-noetic-microstrain-inertial-driver/recipe.yaml b/recipes/ros-noetic-microstrain-inertial-driver/recipe.yaml new file mode 100644 index 000000000..0944edfe9 --- /dev/null +++ b/recipes/ros-noetic-microstrain-inertial-driver/recipe.yaml @@ -0,0 +1,86 @@ +package: + name: ros-noetic-microstrain-inertial-driver + version: 3.2.1 +source: + git_url: https://github.com/LORD-MicroStrain/microstrain_inertial-release.git + git_rev: release/noetic/microstrain_inertial_driver/3.2.1-1 + folder: ros-noetic-microstrain-inertial-driver/src/work + patches: + - patch/ros-noetic-microstrain-inertial-driver.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - git + host: + - libcurl + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-diagnostic-updater + - ros-noetic-geometry-msgs + - ros-noetic-mavros-msgs + - ros-noetic-message-generation + - ros-noetic-microstrain-inertial-msgs + - ros-noetic-nav-msgs + - ros-noetic-nmea-msgs + - ros-noetic-roscpp + - ros-noetic-roslint + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cmake-modules + - ros-noetic-diagnostic-aggregator + - ros-noetic-diagnostic-updater + - ros-noetic-geometry-msgs + - ros-noetic-mavros-msgs + - ros-noetic-message-runtime + - ros-noetic-microstrain-inertial-msgs + - ros-noetic-nav-msgs + - ros-noetic-nmea-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-move-base/bld_catkin.bat b/recipes/ros-noetic-move-base/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-move-base/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-move-base/build_catkin.sh b/recipes/ros-noetic-move-base/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-move-base/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-move-base/recipe.yaml b/recipes/ros-noetic-move-base/recipe.yaml new file mode 100644 index 000000000..d0a345a14 --- /dev/null +++ b/recipes/ros-noetic-move-base/recipe.yaml @@ -0,0 +1,88 @@ +package: + name: ros-noetic-move-base + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/move_base/1.17.3-1 + folder: ros-noetic-move-base/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-base-local-planner + - ros-noetic-catkin + - ros-noetic-clear-costmap-recovery + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-move-base-msgs + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-navfn + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rotate-recovery + - ros-noetic-std-srvs + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-base-local-planner + - ros-noetic-clear-costmap-recovery + - ros-noetic-costmap-2d + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-move-base-msgs + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-navfn + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rotate-recovery + - ros-noetic-std-srvs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-move-slow-and-clear/bld_catkin.bat b/recipes/ros-noetic-move-slow-and-clear/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-move-slow-and-clear/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-move-slow-and-clear/build_catkin.sh b/recipes/ros-noetic-move-slow-and-clear/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-move-slow-and-clear/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-move-slow-and-clear/recipe.yaml b/recipes/ros-noetic-move-slow-and-clear/recipe.yaml new file mode 100644 index 000000000..cf9c841ec --- /dev/null +++ b/recipes/ros-noetic-move-slow-and-clear/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-move-slow-and-clear + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/move_slow_and_clear/1.17.3-1 + folder: ros-noetic-move-slow-and-clear/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-commander/bld_catkin.bat b/recipes/ros-noetic-moveit-commander/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-commander/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-commander/build_catkin.sh b/recipes/ros-noetic-moveit-commander/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-commander/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-commander/recipe.yaml b/recipes/ros-noetic-moveit-commander/recipe.yaml new file mode 100644 index 000000000..2ac910df5 --- /dev/null +++ b/recipes/ros-noetic-moveit-commander/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-moveit-commander + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_commander/1.1.13-2 + folder: ros-noetic-moveit-commander/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - catkin_pkg + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-resources-fanuc-moveit-config + - ros-noetic-rostest + run: + - assimp + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-core/bld_catkin.bat b/recipes/ros-noetic-moveit-core/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-core/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-core/build_catkin.sh b/recipes/ros-noetic-moveit-core/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-core/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-core/recipe.yaml b/recipes/ros-noetic-moveit-core/recipe.yaml new file mode 100644 index 000000000..648bbd57f --- /dev/null +++ b/recipes/ros-noetic-moveit-core/recipe.yaml @@ -0,0 +1,122 @@ +package: + name: ros-noetic-moveit-core + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_core/1.1.13-2 + folder: ros-noetic-moveit-core/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - assimp + - boost + - bullet + - console_bridge + - eigen + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-eigen-stl-containers + - ros-noetic-fcl + - ros-noetic-geometric-shapes + - ros-noetic-geometry-msgs + - ros-noetic-kdl-parser + - ros-noetic-moveit-msgs + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-resources-pr2-description + - ros-noetic-octomap + - ros-noetic-octomap-msgs + - ros-noetic-pluginlib + - ros-noetic-pybind11-catkin + - ros-noetic-random-numbers + - ros-noetic-rosconsole + - ros-noetic-roslib + - ros-noetic-rostest + - ros-noetic-rostime + - ros-noetic-rosunit + - ros-noetic-ruckig + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-srdfdom + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-kdl + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - ros-noetic-xmlrpcpp + - urdfdom + - urdfdom_headers + run: + - assimp + - boost + - bullet + - console_bridge + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-eigen-stl-containers + - ros-noetic-fcl + - ros-noetic-geometric-shapes + - ros-noetic-geometry-msgs + - ros-noetic-kdl-parser + - ros-noetic-moveit-msgs + - ros-noetic-octomap + - ros-noetic-octomap-msgs + - ros-noetic-pluginlib + - ros-noetic-pybind11-catkin + - ros-noetic-random-numbers + - ros-noetic-rosconsole + - ros-noetic-roslib + - ros-noetic-rostime + - ros-noetic-ruckig + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-srdfdom + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-trajectory-msgs + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - ros-noetic-xmlrpcpp + - urdfdom + - urdfdom_headers + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-fake-controller-manager/bld_catkin.bat b/recipes/ros-noetic-moveit-fake-controller-manager/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-fake-controller-manager/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-fake-controller-manager/build_catkin.sh b/recipes/ros-noetic-moveit-fake-controller-manager/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-fake-controller-manager/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-fake-controller-manager/recipe.yaml b/recipes/ros-noetic-moveit-fake-controller-manager/recipe.yaml new file mode 100644 index 000000000..26cc4b45a --- /dev/null +++ b/recipes/ros-noetic-moveit-fake-controller-manager/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-moveit-fake-controller-manager + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_fake_controller_manager/1.1.13-2 + folder: ros-noetic-moveit-fake-controller-manager/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-kinematics/bld_catkin.bat b/recipes/ros-noetic-moveit-kinematics/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-kinematics/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-kinematics/build_catkin.sh b/recipes/ros-noetic-moveit-kinematics/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-kinematics/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-kinematics/recipe.yaml b/recipes/ros-noetic-moveit-kinematics/recipe.yaml new file mode 100644 index 000000000..e8a697d27 --- /dev/null +++ b/recipes/ros-noetic-moveit-kinematics/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-moveit-kinematics + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_kinematics/1.1.13-2 + folder: ros-noetic-moveit-kinematics/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-core + - ros-noetic-moveit-resources-fanuc-description + - ros-noetic-moveit-resources-fanuc-moveit-config + - ros-noetic-moveit-resources-panda-description + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-tf2 + - ros-noetic-tf2-kdl + - ros-noetic-xmlrpcpp + run: + - eigen + - lxml + - orocos-kdl + - python + - pyyaml + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-kdl + - urdfdom + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-msgs/bld_catkin.bat b/recipes/ros-noetic-moveit-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-msgs/build_catkin.sh b/recipes/ros-noetic-moveit-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-msgs/recipe.yaml b/recipes/ros-noetic-moveit-msgs/recipe.yaml new file mode 100644 index 000000000..d3f55eaf0 --- /dev/null +++ b/recipes/ros-noetic-moveit-msgs/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-moveit-msgs + version: 0.11.4 +source: + git_url: https://github.com/ros-gbp/moveit_msgs-release.git + git_rev: release/noetic/moveit_msgs/0.11.4-1 + folder: ros-noetic-moveit-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-object-recognition-msgs + - ros-noetic-octomap-msgs + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + - ros-noetic-trajectory-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-object-recognition-msgs + - ros-noetic-octomap-msgs + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + - ros-noetic-trajectory-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-planners-chomp/bld_catkin.bat b/recipes/ros-noetic-moveit-planners-chomp/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-chomp/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners-chomp/build_catkin.sh b/recipes/ros-noetic-moveit-planners-chomp/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-chomp/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners-chomp/recipe.yaml b/recipes/ros-noetic-moveit-planners-chomp/recipe.yaml new file mode 100644 index 000000000..a5c0bed3f --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-chomp/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-moveit-planners-chomp + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_planners_chomp/1.1.13-2 + folder: ros-noetic-moveit-planners-chomp/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-chomp-motion-planner + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-chomp-motion-planner + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-planners-ompl/bld_catkin.bat b/recipes/ros-noetic-moveit-planners-ompl/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-ompl/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners-ompl/build_catkin.sh b/recipes/ros-noetic-moveit-planners-ompl/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-ompl/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners-ompl/patch/ros-noetic-moveit-planners-ompl.osx.patch b/recipes/ros-noetic-moveit-planners-ompl/patch/ros-noetic-moveit-planners-ompl.osx.patch new file mode 100644 index 000000000..3f7453ae4 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-ompl/patch/ros-noetic-moveit-planners-ompl.osx.patch @@ -0,0 +1,28 @@ +diff --git a/ompl_interface/CMakeLists.txt b/ompl_interface/CMakeLists.txt +index e44e0ecb1..bb1a6fdbb 100644 +--- a/ompl_interface/CMakeLists.txt ++++ b/ompl_interface/CMakeLists.txt +@@ -21,6 +21,23 @@ add_library(${MOVEIT_LIB_NAME} + ) + set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") + ++if(CMAKE_C_COMPILER_ID MATCHES "Clang") ++ set(OpenMP_C "${CMAKE_C_COMPILER}") ++ set(OpenMP_C_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument") ++ set(OpenMP_C_LIB_NAMES "libomp" "libgomp" "libiomp5") ++ set(OpenMP_libomp_LIBRARY ${OpenMP_C_LIB_NAMES}) ++ set(OpenMP_libgomp_LIBRARY ${OpenMP_C_LIB_NAMES}) ++ set(OpenMP_libiomp5_LIBRARY ${OpenMP_C_LIB_NAMES}) ++endif() ++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ set(OpenMP_CXX "${CMAKE_CXX_COMPILER}") ++ set(OpenMP_CXX_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument") ++ set(OpenMP_CXX_LIB_NAMES "libomp" "libgomp" "libiomp5") ++ set(OpenMP_libomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++ set(OpenMP_libgomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++ set(OpenMP_libiomp5_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++endif() ++ + find_package(OpenMP REQUIRED) + + target_link_libraries(${MOVEIT_LIB_NAME} ${OMPL_LIBRARIES} ${catkin_LIBRARIES} ${Boost_LIBRARIES}) diff --git a/recipes/ros-noetic-moveit-planners-ompl/recipe.yaml b/recipes/ros-noetic-moveit-planners-ompl/recipe.yaml new file mode 100644 index 000000000..d22306489 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners-ompl/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-moveit-planners-ompl + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_planners_ompl/1.1.13-2 + folder: ros-noetic-moveit-planners-ompl/src/work + patches: + - patch/ros-noetic-moveit-planners-ompl.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-moveit-core + - ros-noetic-moveit-resources-fanuc-description + - ros-noetic-moveit-resources-panda-description + - ros-noetic-moveit-resources-pr2-description + - ros-noetic-moveit-ros-planning + - ros-noetic-ompl + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-ompl + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-tf2 + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-planners/bld_catkin.bat b/recipes/ros-noetic-moveit-planners/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners/build_catkin.sh b/recipes/ros-noetic-moveit-planners/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-planners/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-planners/recipe.yaml b/recipes/ros-noetic-moveit-planners/recipe.yaml new file mode 100644 index 000000000..e18f41240 --- /dev/null +++ b/recipes/ros-noetic-moveit-planners/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-moveit-planners + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_planners/1.1.13-2 + folder: ros-noetic-moveit-planners/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-chomp-motion-planner + - ros-noetic-moveit-planners-chomp + - ros-noetic-moveit-planners-ompl + - ros-noetic-pilz-industrial-motion-planner + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-plugins/bld_catkin.bat b/recipes/ros-noetic-moveit-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-plugins/build_catkin.sh b/recipes/ros-noetic-moveit-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-plugins/recipe.yaml b/recipes/ros-noetic-moveit-plugins/recipe.yaml new file mode 100644 index 000000000..532b41122 --- /dev/null +++ b/recipes/ros-noetic-moveit-plugins/recipe.yaml @@ -0,0 +1,53 @@ +package: + name: ros-noetic-moveit-plugins + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_plugins/1.1.13-2 + folder: ros-noetic-moveit-plugins/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-fake-controller-manager + - ros-noetic-moveit-ros-control-interface + - ros-noetic-moveit-simple-controller-manager + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/bld_catkin.bat b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-fanuc-moveit-config/build_catkin.sh b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-fanuc-moveit-config/recipe.yaml b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/recipe.yaml new file mode 100644 index 000000000..e31da6efc --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-fanuc-moveit-config/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-moveit-resources-fanuc-moveit-config + version: 0.8.3 +source: + git_url: https://github.com/ros-gbp/moveit_resources-release.git + git_rev: release/noetic/moveit_resources_fanuc_moveit_config/0.8.3-1 + folder: ros-noetic-moveit-resources-fanuc-moveit-config/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-joint-state-publisher + - ros-noetic-moveit-resources-fanuc-description + - ros-noetic-robot-state-publisher + - ros-noetic-tf2-ros + - ros-noetic-xacro + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-state-publisher + - ros-noetic-moveit-resources-fanuc-description + - ros-noetic-robot-state-publisher + - ros-noetic-tf2-ros + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-resources-panda-moveit-config/bld_catkin.bat b/recipes/ros-noetic-moveit-resources-panda-moveit-config/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-panda-moveit-config/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-panda-moveit-config/build_catkin.sh b/recipes/ros-noetic-moveit-resources-panda-moveit-config/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-panda-moveit-config/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-panda-moveit-config/recipe.yaml b/recipes/ros-noetic-moveit-resources-panda-moveit-config/recipe.yaml new file mode 100644 index 000000000..aba568b11 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-panda-moveit-config/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-moveit-resources-panda-moveit-config + version: 0.8.3 +source: + git_url: https://github.com/ros-gbp/moveit_resources-release.git + git_rev: release/noetic/moveit_resources_panda_moveit_config/0.8.3-1 + folder: ros-noetic-moveit-resources-panda-moveit-config/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-joint-state-publisher + - ros-noetic-joint-state-publisher-gui + - ros-noetic-moveit-resources-panda-description + - ros-noetic-robot-state-publisher + - ros-noetic-rviz + - ros-noetic-tf2-ros + - ros-noetic-xacro + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-state-publisher + - ros-noetic-joint-state-publisher-gui + - ros-noetic-moveit-resources-panda-description + - ros-noetic-robot-state-publisher + - ros-noetic-rviz + - ros-noetic-tf2-ros + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/bld_catkin.bat b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/build_catkin.sh b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/patch/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin.patch b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/patch/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin.patch new file mode 100644 index 000000000..c9249fb48 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/patch/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin.patch @@ -0,0 +1,28 @@ +diff --git a/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_solver.cpp b/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_solver.cpp +index 006fe89..ba54c8c 100644 +--- a/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_solver.cpp ++++ b/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_solver.cpp +@@ -25,10 +25,6 @@ + #include "ikfast.h" // found inside share/openrave-X.Y/python/ikfast.h + using namespace ikfast; + +-// check if the included ikfast version matches what this file was compiled with +-#define IKFAST_COMPILE_ASSERT(x) extern int __dummy[(int)x] +-IKFAST_COMPILE_ASSERT(IKFAST_VERSION==0x1000004a); +- + #include + #include + #include +diff --git a/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_moveit_plugin.cpp b/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_moveit_plugin.cpp +index 25ae8ee..cb7b915 100644 +--- a/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_moveit_plugin.cpp ++++ b/prbt_ikfast_manipulator_plugin/src/prbt_manipulator_ikfast_moveit_plugin.cpp +@@ -798,7 +798,7 @@ bool IKFastKinematicsPlugin::getPositionFK(const std::vector& link_ + return false; + } + +- IkReal angles[num_joints_]; ++ IkReal* angles = new IkReal[num_joints_]; + for (unsigned char i = 0; i < num_joints_; i++) + angles[i] = joint_angles[i]; + diff --git a/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml new file mode 100644 index 000000000..e048de5ad --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/recipe.yaml @@ -0,0 +1,63 @@ +package: + name: ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin + version: 0.8.3 +source: + git_url: https://github.com/ros-gbp/moveit_resources-release.git + git_rev: release/noetic/moveit_resources_prbt_ikfast_manipulator_plugin/0.8.3-1 + folder: ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin/src/work + patches: + - patch/ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-eigen-conversions + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + - ros-noetic-tf2-kdl + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-eigen-conversions + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-kdl + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-resources-prbt-moveit-config/bld_catkin.bat b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-moveit-config/build_catkin.sh b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-moveit-config/recipe.yaml b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/recipe.yaml new file mode 100644 index 000000000..eb7cbeb97 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-moveit-config/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-moveit-resources-prbt-moveit-config + version: 0.8.3 +source: + git_url: https://github.com/ros-gbp/moveit_resources-release.git + git_rev: release/noetic/moveit_resources_prbt_moveit_config/0.8.3-1 + folder: ros-noetic-moveit-resources-prbt-moveit-config/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-state-publisher + - ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin + - ros-noetic-moveit-resources-prbt-support + - ros-noetic-robot-state-publisher + - ros-noetic-rviz + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-resources-prbt-pg70-support/bld_catkin.bat b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-pg70-support/build_catkin.sh b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-resources-prbt-pg70-support/recipe.yaml b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/recipe.yaml new file mode 100644 index 000000000..8a2eb826c --- /dev/null +++ b/recipes/ros-noetic-moveit-resources-prbt-pg70-support/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-moveit-resources-prbt-pg70-support + version: 0.8.3 +source: + git_url: https://github.com/ros-gbp/moveit_resources-release.git + git_rev: release/noetic/moveit_resources_prbt_pg70_support/0.8.3-1 + folder: ros-noetic-moveit-resources-prbt-pg70-support/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin + - ros-noetic-moveit-resources-prbt-moveit-config + - ros-noetic-moveit-resources-prbt-support + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-benchmarks/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-benchmarks/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-benchmarks/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-benchmarks/build_catkin.sh b/recipes/ros-noetic-moveit-ros-benchmarks/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-benchmarks/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-benchmarks/recipe.yaml b/recipes/ros-noetic-moveit-ros-benchmarks/recipe.yaml new file mode 100644 index 000000000..192188dee --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-benchmarks/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-moveit-ros-benchmarks + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_benchmarks/1.1.13-2 + folder: ros-noetic-moveit-ros-benchmarks/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-warehouse + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-warehouse + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-control-interface/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-control-interface/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-control-interface/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-control-interface/build_catkin.sh b/recipes/ros-noetic-moveit-ros-control-interface/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-control-interface/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-control-interface/recipe.yaml b/recipes/ros-noetic-moveit-ros-control-interface/recipe.yaml new file mode 100644 index 000000000..f7037131b --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-control-interface/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-moveit-ros-control-interface + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_control_interface/1.1.13-2 + folder: ros-noetic-moveit-ros-control-interface/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-controller-manager-msgs + - ros-noetic-moveit-core + - ros-noetic-moveit-simple-controller-manager + - ros-noetic-pluginlib + - ros-noetic-trajectory-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-controller-manager-msgs + - ros-noetic-moveit-core + - ros-noetic-moveit-simple-controller-manager + - ros-noetic-pluginlib + - ros-noetic-trajectory-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-manipulation/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-manipulation/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-manipulation/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-manipulation/build_catkin.sh b/recipes/ros-noetic-moveit-ros-manipulation/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-manipulation/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-manipulation/recipe.yaml b/recipes/ros-noetic-moveit-ros-manipulation/recipe.yaml new file mode 100644 index 000000000..08e56a289 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-manipulation/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-moveit-ros-manipulation + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_manipulation/1.1.13-2 + folder: ros-noetic-moveit-ros-manipulation/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-dynamic-reconfigure + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-move-group/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-move-group/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-move-group/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-move-group/build_catkin.sh b/recipes/ros-noetic-moveit-ros-move-group/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-move-group/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-move-group/recipe.yaml b/recipes/ros-noetic-moveit-ros-move-group/recipe.yaml new file mode 100644 index 000000000..5abd5aa39 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-move-group/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-moveit-ros-move-group + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_move_group/1.1.13-2 + folder: ros-noetic-moveit-ros-move-group/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-moveit-core + - ros-noetic-moveit-resources-fanuc-moveit-config + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-moveit-core + - ros-noetic-moveit-kinematics + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-std-srvs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-occupancy-map-monitor/build_catkin.sh b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-occupancy-map-monitor/patch/ros-noetic-moveit-ros-occupancy-map-monitor.osx.patch b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/patch/ros-noetic-moveit-ros-occupancy-map-monitor.osx.patch new file mode 100644 index 000000000..89b893d1a --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/patch/ros-noetic-moveit-ros-occupancy-map-monitor.osx.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c62d9c555..d083863bd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,10 +14,6 @@ endif() + + find_package(Boost REQUIRED thread) + +-if(APPLE) +- find_package(X11 REQUIRED) +-endif(APPLE) +- + find_package(catkin REQUIRED COMPONENTS + moveit_core + moveit_msgs diff --git a/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/recipe.yaml b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/recipe.yaml new file mode 100644 index 000000000..076338ab3 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-occupancy-map-monitor/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-moveit-ros-occupancy-map-monitor + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_occupancy_map_monitor/1.1.13-2 + folder: ros-noetic-moveit-ros-occupancy-map-monitor/src/work + patches: + - patch/ros-noetic-moveit-ros-occupancy-map-monitor.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometric-shapes + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-octomap + - ros-noetic-pluginlib + - ros-noetic-rosunit + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometric-shapes + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-octomap + - ros-noetic-pluginlib + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-perception/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-perception/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-perception/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-perception/build_catkin.sh b/recipes/ros-noetic-moveit-ros-perception/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-perception/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-perception/patch/ros-noetic-moveit-ros-perception.osx.patch b/recipes/ros-noetic-moveit-ros-perception/patch/ros-noetic-moveit-ros-perception.osx.patch new file mode 100644 index 000000000..cf4fb7cb0 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-perception/patch/ros-noetic-moveit-ros-perception.osx.patch @@ -0,0 +1,85 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e2e3dc26e..735d225f4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,11 @@ + cmake_minimum_required(VERSION 3.1.3) + project(moveit_ros_perception) + +-option(WITH_OPENGL "Build the parts that depend on OpenGL" ON) ++if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm64") ++ option(WITH_OPENGL "Build the parts that depend on OpenGL" OFF) ++else() ++ option(WITH_OPENGL "Build the parts that depend on OpenGL" ON) ++endif() + + find_package(Boost REQUIRED thread) + +@@ -12,6 +16,7 @@ if(WITH_OPENGL) + endif() + find_package(OpenGL REQUIRED) + find_package(GLEW REQUIRED) ++ list(INSERT CMAKE_FRAMEWORK_PATH 0 /System/Library/Frameworks) + find_package(GLUT REQUIRED) + set(gl_LIBS ${gl_LIBS} ${OPENGL_LIBRARIES}) + set(perception_GL_INCLUDE_DIRS "mesh_filter/include" "depth_image_octomap_updater/include") +@@ -45,6 +50,25 @@ find_package(catkin REQUIRED COMPONENTS + moveit_build_options() + + find_package(Eigen3 REQUIRED) ++ ++ ++ if(CMAKE_C_COMPILER_ID MATCHES "Clang") ++ set(OpenMP_C "${CMAKE_C_COMPILER}") ++ set(OpenMP_C_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument") ++ set(OpenMP_C_LIB_NAMES "libomp" "libgomp" "libiomp5") ++ set(OpenMP_libomp_LIBRARY ${OpenMP_C_LIB_NAMES}) ++ set(OpenMP_libgomp_LIBRARY ${OpenMP_C_LIB_NAMES}) ++ set(OpenMP_libiomp5_LIBRARY ${OpenMP_C_LIB_NAMES}) ++ endif() ++ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ set(OpenMP_CXX "${CMAKE_CXX_COMPILER}") ++ set(OpenMP_CXX_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument") ++ set(OpenMP_CXX_LIB_NAMES "libomp" "libgomp" "libiomp5") ++ set(OpenMP_libomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++ set(OpenMP_libgomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++ set(OpenMP_libiomp5_LIBRARY ${OpenMP_CXX_LIB_NAMES}) ++ endif() ++ + find_package(OpenMP REQUIRED) + find_package(OpenCV) + +diff --git a/mesh_filter/src/gl_renderer.cpp b/mesh_filter/src/gl_renderer.cpp +index 834d2b4ed..8ba0300b2 100644 +--- a/mesh_filter/src/gl_renderer.cpp ++++ b/mesh_filter/src/gl_renderer.cpp +@@ -37,11 +37,13 @@ + #include + #ifdef __APPLE__ + #include ++#include ++#include + #else + #include +-#endif + #include + #include ++#endif + #include + #include + #include +@@ -399,8 +401,13 @@ void mesh_filter::GLRenderer::createGLContext() + glutHideWindow(); + + for (int i = 0; i < 10; ++i) ++ { ++#ifdef __APPLE__ ++ glutCheckLoop(); ++#else + glutMainLoopEvent(); +- ++#endif ++ } + context_[thread_id] = std::pair(1, window_id); + } + else diff --git a/recipes/ros-noetic-moveit-ros-perception/recipe.yaml b/recipes/ros-noetic-moveit-ros-perception/recipe.yaml new file mode 100644 index 000000000..91aa89b75 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-perception/recipe.yaml @@ -0,0 +1,107 @@ +package: + name: ros-noetic-moveit-ros-perception + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_perception/1.1.13-2 + folder: ros-noetic-moveit-ros-perception/src/work + patches: + - patch/ros-noetic-moveit-ros-perception.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - eigen + - glew + - llvm-openmp + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-occupancy-map-monitor + - ros-noetic-moveit-ros-planning + - ros-noetic-nodelet + - ros-noetic-object-recognition-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - glew + - llvm-openmp + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-occupancy-map-monitor + - ros-noetic-moveit-ros-planning + - ros-noetic-nodelet + - ros-noetic-object-recognition-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-moveit-ros-planning-interface/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-planning-interface/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning-interface/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-planning-interface/build_catkin.sh b/recipes/ros-noetic-moveit-ros-planning-interface/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning-interface/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-planning-interface/patch/ros-noetic-moveit-ros-planning-interface.patch b/recipes/ros-noetic-moveit-ros-planning-interface/patch/ros-noetic-moveit-ros-planning-interface.patch new file mode 100644 index 000000000..272c0009e --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning-interface/patch/ros-noetic-moveit-ros-planning-interface.patch @@ -0,0 +1,87 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 73f1aa3ea4..67528cf75c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,9 @@ find_package(catkin REQUIRED COMPONENTS + ) + moveit_build_options() + ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(EIGENPY REQUIRED eigenpy) ++ + find_package(PythonInterp REQUIRED) + find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED) + +@@ -77,8 +80,11 @@ include_directories(SYSTEM + ${catkin_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} ++ ${EIGENPY_INCLUDE_DIRS} + ${PYTHON_INCLUDE_DIRS}) + ++link_directories(${EIGENPY_LIBRARY_DIRS}) ++ + add_subdirectory(py_bindings_tools) + add_subdirectory(common_planning_interface_objects) + add_subdirectory(planning_scene_interface) +diff --git a/move_group_interface/CMakeLists.txt b/move_group_interface/CMakeLists.txt +index d822174bf0..c3eb1686c0 100644 +--- a/move_group_interface/CMakeLists.txt ++++ b/move_group_interface/CMakeLists.txt +@@ -2,7 +2,7 @@ set(MOVEIT_LIB_NAME moveit_move_group_interface) + + add_library(${MOVEIT_LIB_NAME} src/move_group_interface.cpp) + set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") +-target_link_libraries(${MOVEIT_LIB_NAME} moveit_common_planning_interface_objects moveit_planning_scene_interface ${catkin_LIBRARIES} ${Boost_LIBRARIES}) ++target_link_libraries(${MOVEIT_LIB_NAME} moveit_common_planning_interface_objects moveit_planning_scene_interface ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${EIGENPY_LIBRARIES}) + add_dependencies(${MOVEIT_LIB_NAME} ${catkin_EXPORTED_TARGETS}) + + add_library(${MOVEIT_LIB_NAME}_python src/wrap_python_move_group.cpp) +diff --git a/move_group_interface/include/moveit/move_group_interface/move_group_interface.h b/move_group_interface/include/moveit/move_group_interface/move_group_interface.h +index 17de157197..fdae58ab37 100644 +--- a/move_group_interface/include/moveit/move_group_interface/move_group_interface.h ++++ b/move_group_interface/include/moveit/move_group_interface/move_group_interface.h +@@ -56,6 +56,20 @@ + #include + #include + ++#include ++ ++// Import/export for windows dll's and visibility for gcc shared libraries. ++ ++#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries ++ #ifdef moveit_move_group_interface_EXPORTS // we are building a shared lib/dll ++ #define MOVEIT_MOVE_GROUP_INTERFACE_DECL ROS_HELPER_EXPORT ++ #else // we are using shared lib/dll ++ #define MOVEIT_MOVE_GROUP_INTERFACE_DECL ROS_HELPER_IMPORT ++ #endif ++#else // ros is being built around static libraries ++ #define MOVEIT_MOVE_GROUP_INTERFACE_DECL ++#endif ++ + namespace moveit + { + /** \brief Simple interface to MoveIt components */ +@@ -70,7 +84,7 @@ MOVEIT_CLASS_FORWARD(MoveGroupInterface); // Defines MoveGroupInterfacePtr, Con + \brief Client class to conveniently use the ROS interfaces provided by the move_group node. + + This class includes many default settings to make things easy to use. */ +-class MoveGroupInterface ++class MOVEIT_MOVE_GROUP_INTERFACE_DECL MoveGroupInterface + { + public: + /** \brief Default ROS parameter name from where to read the robot's URDF. Set to 'robot_description' */ +diff --git a/py_bindings_tools/CMakeLists.txt b/py_bindings_tools/CMakeLists.txt +index 1f82d7e4dc..9ef98d8136 100644 +--- a/py_bindings_tools/CMakeLists.txt ++++ b/py_bindings_tools/CMakeLists.txt +@@ -1,5 +1,9 @@ + set(MOVEIT_LIB_NAME moveit_py_bindings_tools) + ++find_package(PythonInterp REQUIRED) ++find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED) ++ ++ + add_library(${MOVEIT_LIB_NAME} src/roscpp_initializer.cpp) + set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") + target_link_libraries(${MOVEIT_LIB_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) diff --git a/recipes/ros-noetic-moveit-ros-planning-interface/recipe.yaml b/recipes/ros-noetic-moveit-ros-planning-interface/recipe.yaml new file mode 100644 index 000000000..33bd5001e --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning-interface/recipe.yaml @@ -0,0 +1,87 @@ +package: + name: ros-noetic-moveit-ros-planning-interface + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_planning_interface/1.1.13-2 + folder: ros-noetic-moveit-ros-planning-interface/src/work + patches: + - patch/ros-noetic-moveit-ros-planning-interface.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - catkin_pkg + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-eigenpy + - ros-noetic-geometry-msgs + - ros-noetic-moveit-msgs + - ros-noetic-moveit-resources-fanuc-moveit-config + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-ros-manipulation + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-warehouse + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-eigenpy + - ros-noetic-geometry-msgs + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-manipulation + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-warehouse + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-planning/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-planning/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-planning/build_catkin.sh b/recipes/ros-noetic-moveit-ros-planning/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-planning/recipe.yaml b/recipes/ros-noetic-moveit-ros-planning/recipe.yaml new file mode 100644 index 000000000..40c2c0b92 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-planning/recipe.yaml @@ -0,0 +1,85 @@ +package: + name: ros-noetic-moveit-ros-planning + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_planning/1.1.13-2 + folder: ros-noetic-moveit-ros-planning/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-filters + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-ros-occupancy-map-monitor + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-srdfdom + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-filters + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-occupancy-map-monitor + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-srdfdom + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-robot-interaction/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-robot-interaction/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-robot-interaction/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-robot-interaction/build_catkin.sh b/recipes/ros-noetic-moveit-ros-robot-interaction/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-robot-interaction/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-robot-interaction/recipe.yaml b/recipes/ros-noetic-moveit-ros-robot-interaction/recipe.yaml new file mode 100644 index 000000000..7ab5773b1 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-robot-interaction/recipe.yaml @@ -0,0 +1,65 @@ +package: + name: ros-noetic-moveit-ros-robot-interaction + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_robot_interaction/1.1.13-2 + folder: ros-noetic-moveit-ros-robot-interaction/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-interactive-markers + - ros-noetic-moveit-ros-planning + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-interactive-markers + - ros-noetic-moveit-ros-planning + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros-visualization/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-visualization/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-visualization/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-visualization/build_catkin.sh b/recipes/ros-noetic-moveit-ros-visualization/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-visualization/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-visualization/recipe.yaml b/recipes/ros-noetic-moveit-ros-visualization/recipe.yaml new file mode 100644 index 000000000..41a5831c5 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-visualization/recipe.yaml @@ -0,0 +1,95 @@ +package: + name: ros-noetic-moveit-ros-visualization + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_visualization/1.1.13-2 + folder: ros-noetic-moveit-ros-visualization/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - eigen + - numpy + - ogre + - pip + - sel(build_platform == target_platform): pkg-config + - pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-class-loader + - ros-noetic-geometric-shapes + - ros-noetic-interactive-markers + - ros-noetic-moveit-ros-perception + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-moveit-ros-robot-interaction + - ros-noetic-moveit-ros-warehouse + - ros-noetic-object-recognition-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-rviz + - ros-noetic-tf2-eigen + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometric-shapes + - ros-noetic-interactive-markers + - ros-noetic-moveit-ros-perception + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-moveit-ros-robot-interaction + - ros-noetic-moveit-ros-warehouse + - ros-noetic-object-recognition-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-rviz + - ros-noetic-tf2-eigen + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-moveit-ros-warehouse/bld_catkin.bat b/recipes/ros-noetic-moveit-ros-warehouse/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-warehouse/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-warehouse/build_catkin.sh b/recipes/ros-noetic-moveit-ros-warehouse/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-warehouse/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros-warehouse/recipe.yaml b/recipes/ros-noetic-moveit-ros-warehouse/recipe.yaml new file mode 100644 index 000000000..1c1fe39a5 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros-warehouse/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-moveit-ros-warehouse + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros_warehouse/1.1.13-2 + folder: ros-noetic-moveit-ros-warehouse/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-ros-planning + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - ros-noetic-warehouse-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-ros-planning + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - ros-noetic-warehouse-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-ros/bld_catkin.bat b/recipes/ros-noetic-moveit-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros/build_catkin.sh b/recipes/ros-noetic-moveit-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-ros/recipe.yaml b/recipes/ros-noetic-moveit-ros/recipe.yaml new file mode 100644 index 000000000..23131d052 --- /dev/null +++ b/recipes/ros-noetic-moveit-ros/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-moveit-ros + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_ros/1.1.13-2 + folder: ros-noetic-moveit-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-ros-benchmarks + - ros-noetic-moveit-ros-manipulation + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-perception + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-moveit-ros-robot-interaction + - ros-noetic-moveit-ros-visualization + - ros-noetic-moveit-ros-warehouse + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-setup-assistant/bld_catkin.bat b/recipes/ros-noetic-moveit-setup-assistant/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-setup-assistant/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-setup-assistant/build_catkin.sh b/recipes/ros-noetic-moveit-setup-assistant/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-setup-assistant/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-setup-assistant/recipe.yaml b/recipes/ros-noetic-moveit-setup-assistant/recipe.yaml new file mode 100644 index 000000000..bf10a3bfd --- /dev/null +++ b/recipes/ros-noetic-moveit-setup-assistant/recipe.yaml @@ -0,0 +1,88 @@ +package: + name: ros-noetic-moveit-setup-assistant + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_setup_assistant/1.1.13-2 + folder: ros-noetic-moveit-setup-assistant/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - ogre + - ompl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-core + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-visualization + - ros-noetic-ompl + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-rviz + - ros-noetic-srdfdom + - ros-noetic-urdf + - yaml-cpp + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-visualization + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rviz + - ros-noetic-srdfdom + - ros-noetic-urdf + - ros-noetic-xacro + - yaml-cpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-moveit-simple-controller-manager/bld_catkin.bat b/recipes/ros-noetic-moveit-simple-controller-manager/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-simple-controller-manager/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-simple-controller-manager/build_catkin.sh b/recipes/ros-noetic-moveit-simple-controller-manager/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-simple-controller-manager/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-simple-controller-manager/recipe.yaml b/recipes/ros-noetic-moveit-simple-controller-manager/recipe.yaml new file mode 100644 index 000000000..2d0eab178 --- /dev/null +++ b/recipes/ros-noetic-moveit-simple-controller-manager/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-moveit-simple-controller-manager + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit_simple_controller_manager/1.1.13-2 + folder: ros-noetic-moveit-simple-controller-manager/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-control-msgs + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-control-msgs + - ros-noetic-moveit-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-moveit-visual-tools/bld_catkin.bat b/recipes/ros-noetic-moveit-visual-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit-visual-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit-visual-tools/build_catkin.sh b/recipes/ros-noetic-moveit-visual-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit-visual-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit-visual-tools/patch/ros-noetic-moveit-visual-tools.patch b/recipes/ros-noetic-moveit-visual-tools/patch/ros-noetic-moveit-visual-tools.patch new file mode 100644 index 000000000..fb0478713 --- /dev/null +++ b/recipes/ros-noetic-moveit-visual-tools/patch/ros-noetic-moveit-visual-tools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7b0544b..67994d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,7 +43,7 @@ catkin_package( + + ## Build + include_directories(include) +-include_directories(SYSTEM ++include_directories( + ${catkin_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} + ) diff --git a/recipes/ros-noetic-moveit-visual-tools/recipe.yaml b/recipes/ros-noetic-moveit-visual-tools/recipe.yaml new file mode 100644 index 000000000..9540d9a24 --- /dev/null +++ b/recipes/ros-noetic-moveit-visual-tools/recipe.yaml @@ -0,0 +1,91 @@ +package: + name: ros-noetic-moveit-visual-tools + version: 3.6.1 +source: + git_url: https://github.com/ros-gbp/moveit_visual_tools-release.git + git_rev: release/noetic/moveit_visual_tools/3.6.1-1 + folder: ros-noetic-moveit-visual-tools/src/work + patches: + - patch/ros-noetic-moveit-visual-tools.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-geometry-msgs + - ros-noetic-graph-msgs + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-roscpp + - ros-noetic-roslint + - ros-noetic-rviz-visual-tools + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cmake-modules + - ros-noetic-geometry-msgs + - ros-noetic-graph-msgs + - ros-noetic-moveit-core + - ros-noetic-moveit-ros-planning + - ros-noetic-roscpp + - ros-noetic-roslint + - ros-noetic-rviz-visual-tools + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-moveit/bld_catkin.bat b/recipes/ros-noetic-moveit/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-moveit/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-moveit/build_catkin.sh b/recipes/ros-noetic-moveit/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-moveit/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-moveit/recipe.yaml b/recipes/ros-noetic-moveit/recipe.yaml new file mode 100644 index 000000000..fef698564 --- /dev/null +++ b/recipes/ros-noetic-moveit/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-moveit + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/moveit/1.1.13-2 + folder: ros-noetic-moveit/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-commander + - ros-noetic-moveit-core + - ros-noetic-moveit-planners + - ros-noetic-moveit-plugins + - ros-noetic-moveit-ros + - ros-noetic-moveit-setup-assistant + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-nav-core/bld_catkin.bat b/recipes/ros-noetic-nav-core/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-nav-core/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-nav-core/build_catkin.sh b/recipes/ros-noetic-nav-core/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-nav-core/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-nav-core/recipe.yaml b/recipes/ros-noetic-nav-core/recipe.yaml new file mode 100644 index 000000000..065fa777c --- /dev/null +++ b/recipes/ros-noetic-nav-core/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-nav-core + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/nav_core/1.17.3-1 + folder: ros-noetic-nav-core/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-navfn/bld_catkin.bat b/recipes/ros-noetic-navfn/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-navfn/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-navfn/build_catkin.sh b/recipes/ros-noetic-navfn/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-navfn/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-navfn/recipe.yaml b/recipes/ros-noetic-navfn/recipe.yaml new file mode 100644 index 000000000..368f81579 --- /dev/null +++ b/recipes/ros-noetic-navfn/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-navfn + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/navfn/1.17.3-1 + folder: ros-noetic-navfn/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-nav-core + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-tf2-ros + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-navigation/bld_catkin.bat b/recipes/ros-noetic-navigation/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-navigation/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-navigation/build_catkin.sh b/recipes/ros-noetic-navigation/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-navigation/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-navigation/recipe.yaml b/recipes/ros-noetic-navigation/recipe.yaml new file mode 100644 index 000000000..c8d3202ee --- /dev/null +++ b/recipes/ros-noetic-navigation/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-navigation + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/navigation/1.17.3-1 + folder: ros-noetic-navigation/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-amcl + - ros-noetic-base-local-planner + - ros-noetic-carrot-planner + - ros-noetic-clear-costmap-recovery + - ros-noetic-costmap-2d + - ros-noetic-dwa-local-planner + - ros-noetic-fake-localization + - ros-noetic-global-planner + - ros-noetic-map-server + - ros-noetic-move-base + - ros-noetic-move-base-msgs + - ros-noetic-move-slow-and-clear + - ros-noetic-nav-core + - ros-noetic-navfn + - ros-noetic-rotate-recovery + - ros-noetic-voxel-grid + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-nodelet-core/bld_catkin.bat b/recipes/ros-noetic-nodelet-core/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-nodelet-core/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-nodelet-core/build_catkin.sh b/recipes/ros-noetic-nodelet-core/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-nodelet-core/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-nodelet-core/recipe.yaml b/recipes/ros-noetic-nodelet-core/recipe.yaml new file mode 100644 index 000000000..2a2ff3c0b --- /dev/null +++ b/recipes/ros-noetic-nodelet-core/recipe.yaml @@ -0,0 +1,52 @@ +package: + name: ros-noetic-nodelet-core + version: 1.11.0 +source: + git_url: https://github.com/ros-gbp/nodelet_core-release.git + git_rev: release/noetic/nodelet_core/1.11.0-2 + folder: ros-noetic-nodelet-core/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-nodelet + - ros-noetic-nodelet-topic-tools + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-nodelet-topic-tools/bld_catkin.bat b/recipes/ros-noetic-nodelet-topic-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-nodelet-topic-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-nodelet-topic-tools/build_catkin.sh b/recipes/ros-noetic-nodelet-topic-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-nodelet-topic-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-nodelet-topic-tools/recipe.yaml b/recipes/ros-noetic-nodelet-topic-tools/recipe.yaml new file mode 100644 index 000000000..04991665f --- /dev/null +++ b/recipes/ros-noetic-nodelet-topic-tools/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-nodelet-topic-tools + version: 1.11.0 +source: + git_url: https://github.com/ros-gbp/nodelet_core-release.git + git_rev: release/noetic/nodelet_topic_tools/1.11.0-2 + folder: ros-noetic-nodelet-topic-tools/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost-cpp + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + run: + - boost-cpp + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-pluginlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-object-recognition-msgs/bld_catkin.bat b/recipes/ros-noetic-object-recognition-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-object-recognition-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-object-recognition-msgs/build_catkin.sh b/recipes/ros-noetic-object-recognition-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-object-recognition-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-object-recognition-msgs/recipe.yaml b/recipes/ros-noetic-object-recognition-msgs/recipe.yaml new file mode 100644 index 000000000..a34d8affd --- /dev/null +++ b/recipes/ros-noetic-object-recognition-msgs/recipe.yaml @@ -0,0 +1,63 @@ +package: + name: ros-noetic-object-recognition-msgs + version: 0.4.2 +source: + git_url: https://github.com/ros-gbp/object_recognition_msgs-release.git + git_rev: release/noetic/object_recognition_msgs/0.4.2-1 + folder: ros-noetic-object-recognition-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-octomap-ros/bld_catkin.bat b/recipes/ros-noetic-octomap-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-octomap-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-octomap-ros/build_catkin.sh b/recipes/ros-noetic-octomap-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-octomap-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-octomap-ros/recipe.yaml b/recipes/ros-noetic-octomap-ros/recipe.yaml new file mode 100644 index 000000000..ebc056025 --- /dev/null +++ b/recipes/ros-noetic-octomap-ros/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-octomap-ros + version: 0.4.1 +source: + git_url: https://github.com/ros-gbp/octomap_ros-release.git + git_rev: release/noetic/octomap_ros/0.4.1-1 + folder: ros-noetic-octomap-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-octomap + - ros-noetic-octomap-msgs + - ros-noetic-sensor-msgs + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-octomap + - ros-noetic-octomap-msgs + - ros-noetic-sensor-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-pcl-conversions/bld_catkin.bat b/recipes/ros-noetic-pcl-conversions/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pcl-conversions/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pcl-conversions/build_catkin.sh b/recipes/ros-noetic-pcl-conversions/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pcl-conversions/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pcl-conversions/recipe.yaml b/recipes/ros-noetic-pcl-conversions/recipe.yaml new file mode 100644 index 000000000..6228eb947 --- /dev/null +++ b/recipes/ros-noetic-pcl-conversions/recipe.yaml @@ -0,0 +1,75 @@ +package: + name: ros-noetic-pcl-conversions + version: 1.7.4 +source: + git_url: https://github.com/ros-gbp/perception_pcl-release.git + git_rev: release/noetic/pcl_conversions/1.7.4-1 + folder: ros-noetic-pcl-conversions/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - eigen + - numpy + - pcl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-pcl-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - eigen + - pcl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-pcl-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-pcl-msgs/bld_catkin.bat b/recipes/ros-noetic-pcl-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pcl-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pcl-msgs/build_catkin.sh b/recipes/ros-noetic-pcl-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pcl-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pcl-msgs/recipe.yaml b/recipes/ros-noetic-pcl-msgs/recipe.yaml new file mode 100644 index 000000000..614b8d0c6 --- /dev/null +++ b/recipes/ros-noetic-pcl-msgs/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-pcl-msgs + version: 0.3.0 +source: + git_url: https://github.com/ros-gbp/pcl_msgs-release.git + git_rev: release/noetic/pcl_msgs/0.3.0-1 + folder: ros-noetic-pcl-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-pcl-ros/bld_catkin.bat b/recipes/ros-noetic-pcl-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pcl-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pcl-ros/build_catkin.sh b/recipes/ros-noetic-pcl-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pcl-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pcl-ros/patch/ros-noetic-pcl-ros.patch b/recipes/ros-noetic-pcl-ros/patch/ros-noetic-pcl-ros.patch new file mode 100644 index 000000000..255b0c223 --- /dev/null +++ b/recipes/ros-noetic-pcl-ros/patch/ros-noetic-pcl-ros.patch @@ -0,0 +1,985 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2466227d..6230e32e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,15 +1,6 @@ + cmake_minimum_required(VERSION 3.0.2) + project(pcl_ros) + +-# CMake 3.1 added support for CMAKE_CXX_STANDARD to manage the C++ standard version +-# Use CMake C++ standard management where possible for better interoperability +-# with dependencies that export target standards and/or features +-if (${CMAKE_VERSION} VERSION_LESS "3.1") +- add_compile_options(-std=c++14) +-else() +- set(CMAKE_CXX_STANDARD 14) +-endif() +- + ## Find catkin packages + find_package(catkin REQUIRED COMPONENTS + dynamic_reconfigure +diff --git a/include/pcl_ros/point_cloud.h b/include/pcl_ros/point_cloud.h +index 1e038276..26e36c1b 100644 +--- a/include/pcl_ros/point_cloud.h ++++ b/include/pcl_ros/point_cloud.h +@@ -3,11 +3,12 @@ + + #include + #include +-#include ++#include + #include + #include + #include + #include ++#include // for BOOST_FOREACH + #include + #include + #include +diff --git a/src/pcl_ros/features/boundary.cpp b/src/pcl_ros/features/boundary.cpp +index 26ee07c1..61ae786a 100644 +--- a/src/pcl_ros/features/boundary.cpp ++++ b/src/pcl_ros/features/boundary.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/boundary.h" + + void +diff --git a/src/pcl_ros/features/feature.cpp b/src/pcl_ros/features/feature.cpp +index 8647e4eb..c36bd499 100644 +--- a/src/pcl_ros/features/feature.cpp ++++ b/src/pcl_ros/features/feature.cpp +@@ -35,7 +35,7 @@ + * + */ + +-//#include ++//#include + // Include the implementations here instead of compiling them separately to speed up compile time + //#include "normal_3d.cpp" + //#include "boundary.cpp" +@@ -80,7 +80,7 @@ pcl_ros::Feature::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&Feature::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&Feature::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + NODELET_DEBUG ("[%s::onInit] Nodelet successfully created with the following parameters:\n" +@@ -124,7 +124,7 @@ pcl_ros::Feature::subscribe () + } + else // Use only indices + { +- sub_input_filter_.registerCallback (bind (&Feature::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&Feature::input_callback, this, boost::placeholders::_1)); + // surface not enabled, connect the input-indices duo and register + if (approximate_sync_) + sync_input_surface_indices_a_->connectInput (sub_input_filter_, nf_pc_, sub_indices_filter_); +@@ -134,7 +134,7 @@ pcl_ros::Feature::subscribe () + } + else // Use only surface + { +- sub_input_filter_.registerCallback (bind (&Feature::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&Feature::input_callback, this, boost::placeholders::_1)); + // indices not enabled, connect the input-surface duo and register + sub_surface_filter_.subscribe (*pnh_, "surface", max_queue_size_); + if (approximate_sync_) +@@ -144,13 +144,13 @@ pcl_ros::Feature::subscribe () + } + // Register callbacks + if (approximate_sync_) +- sync_input_surface_indices_a_->registerCallback (bind (&Feature::input_surface_indices_callback, this, _1, _2, _3)); ++ sync_input_surface_indices_a_->registerCallback (bind (&Feature::input_surface_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + else +- sync_input_surface_indices_e_->registerCallback (bind (&Feature::input_surface_indices_callback, this, _1, _2, _3)); ++ sync_input_surface_indices_e_->registerCallback (bind (&Feature::input_surface_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&Feature::input_surface_indices_callback, this, _1, PointCloudInConstPtr (), PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&Feature::input_surface_indices_callback, this, boost::placeholders::_1, PointCloudInConstPtr (), PointIndicesConstPtr ())); + } + + //////////////////////////////////////////////////////////////////////////////////////////// +@@ -300,7 +300,7 @@ pcl_ros::FeatureFromNormals::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&FeatureFromNormals::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&FeatureFromNormals::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + NODELET_DEBUG ("[%s::onInit] Nodelet successfully created with the following parameters:\n" +@@ -345,7 +345,7 @@ pcl_ros::FeatureFromNormals::subscribe () + } + else // Use only indices + { +- sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, boost::placeholders::_1)); + if (approximate_sync_) + // surface not enabled, connect the input-indices duo and register + sync_input_normals_surface_indices_a_->connectInput (sub_input_filter_, sub_normals_filter_, nf_pc_, sub_indices_filter_); +@@ -359,7 +359,7 @@ pcl_ros::FeatureFromNormals::subscribe () + // indices not enabled, connect the input-surface duo and register + sub_surface_filter_.subscribe (*pnh_, "surface", max_queue_size_); + +- sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, boost::placeholders::_1)); + if (approximate_sync_) + sync_input_normals_surface_indices_a_->connectInput (sub_input_filter_, sub_normals_filter_, sub_surface_filter_, nf_pi_); + else +@@ -368,7 +368,7 @@ pcl_ros::FeatureFromNormals::subscribe () + } + else + { +- sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&FeatureFromNormals::input_callback, this, boost::placeholders::_1)); + + if (approximate_sync_) + sync_input_normals_surface_indices_a_->connectInput (sub_input_filter_, sub_normals_filter_, nf_pc_, nf_pi_); +@@ -378,9 +378,9 @@ pcl_ros::FeatureFromNormals::subscribe () + + // Register callbacks + if (approximate_sync_) +- sync_input_normals_surface_indices_a_->registerCallback (bind (&FeatureFromNormals::input_normals_surface_indices_callback, this, _1, _2, _3, _4)); ++ sync_input_normals_surface_indices_a_->registerCallback (bind (&FeatureFromNormals::input_normals_surface_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4)); + else +- sync_input_normals_surface_indices_e_->registerCallback (bind (&FeatureFromNormals::input_normals_surface_indices_callback, this, _1, _2, _3, _4)); ++ sync_input_normals_surface_indices_e_->registerCallback (bind (&FeatureFromNormals::input_normals_surface_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4)); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/features/fpfh.cpp b/src/pcl_ros/features/fpfh.cpp +index 53be549c..f49b05ef 100644 +--- a/src/pcl_ros/features/fpfh.cpp ++++ b/src/pcl_ros/features/fpfh.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/fpfh.h" + + void +diff --git a/src/pcl_ros/features/fpfh_omp.cpp b/src/pcl_ros/features/fpfh_omp.cpp +index e4adcabb..c811a401 100644 +--- a/src/pcl_ros/features/fpfh_omp.cpp ++++ b/src/pcl_ros/features/fpfh_omp.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/fpfh_omp.h" + + void +diff --git a/src/pcl_ros/features/moment_invariants.cpp b/src/pcl_ros/features/moment_invariants.cpp +index a6e2249a..52801fff 100644 +--- a/src/pcl_ros/features/moment_invariants.cpp ++++ b/src/pcl_ros/features/moment_invariants.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/moment_invariants.h" + + void +diff --git a/src/pcl_ros/features/normal_3d.cpp b/src/pcl_ros/features/normal_3d.cpp +index 042186a9..3ca08fb9 100644 +--- a/src/pcl_ros/features/normal_3d.cpp ++++ b/src/pcl_ros/features/normal_3d.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/normal_3d.h" + + void +diff --git a/src/pcl_ros/features/normal_3d_omp.cpp b/src/pcl_ros/features/normal_3d_omp.cpp +index 3e92d2f2..96535079 100644 +--- a/src/pcl_ros/features/normal_3d_omp.cpp ++++ b/src/pcl_ros/features/normal_3d_omp.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/normal_3d_omp.h" + + void +diff --git a/src/pcl_ros/features/normal_3d_tbb.cpp b/src/pcl_ros/features/normal_3d_tbb.cpp +index 680a4a02..85261766 100644 +--- a/src/pcl_ros/features/normal_3d_tbb.cpp ++++ b/src/pcl_ros/features/normal_3d_tbb.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/normal_3d_tbb.h" + + #if defined HAVE_TBB +diff --git a/src/pcl_ros/features/pfh.cpp b/src/pcl_ros/features/pfh.cpp +index dd8409e2..b00cadc4 100644 +--- a/src/pcl_ros/features/pfh.cpp ++++ b/src/pcl_ros/features/pfh.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/pfh.h" + + void +diff --git a/src/pcl_ros/features/principal_curvatures.cpp b/src/pcl_ros/features/principal_curvatures.cpp +index 501d686e..f8fe44ce 100644 +--- a/src/pcl_ros/features/principal_curvatures.cpp ++++ b/src/pcl_ros/features/principal_curvatures.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/principal_curvatures.h" + + void +diff --git a/src/pcl_ros/features/shot.cpp b/src/pcl_ros/features/shot.cpp +index ed6ba44b..085855f6 100644 +--- a/src/pcl_ros/features/shot.cpp ++++ b/src/pcl_ros/features/shot.cpp +@@ -34,7 +34,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/shot.h" + + void +diff --git a/src/pcl_ros/features/shot_omp.cpp b/src/pcl_ros/features/shot_omp.cpp +index 4563f123..eea70059 100644 +--- a/src/pcl_ros/features/shot_omp.cpp ++++ b/src/pcl_ros/features/shot_omp.cpp +@@ -34,7 +34,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/shot_omp.h" + + void +diff --git a/src/pcl_ros/features/vfh.cpp b/src/pcl_ros/features/vfh.cpp +index ece448fd..e1f6a40a 100644 +--- a/src/pcl_ros/features/vfh.cpp ++++ b/src/pcl_ros/features/vfh.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/features/vfh.h" + + void +diff --git a/src/pcl_ros/filters/crop_box.cpp b/src/pcl_ros/filters/crop_box.cpp +index 2392e2bc..70ab986b 100644 +--- a/src/pcl_ros/filters/crop_box.cpp ++++ b/src/pcl_ros/filters/crop_box.cpp +@@ -36,7 +36,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/crop_box.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -46,7 +46,7 @@ pcl_ros::CropBox::child_init (ros::NodeHandle &nh, bool &has_service) + // Enable the dynamic reconfigure service + has_service = true; + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&CropBox::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&CropBox::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + return (true); +diff --git a/src/pcl_ros/filters/extract_indices.cpp b/src/pcl_ros/filters/extract_indices.cpp +index e92407a9..73ab4074 100644 +--- a/src/pcl_ros/filters/extract_indices.cpp ++++ b/src/pcl_ros/filters/extract_indices.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/extract_indices.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -45,7 +45,7 @@ pcl_ros::ExtractIndices::child_init (ros::NodeHandle &nh, bool &has_service) + has_service = true; + + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&ExtractIndices::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&ExtractIndices::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + use_indices_ = true; +diff --git a/src/pcl_ros/filters/filter.cpp b/src/pcl_ros/filters/filter.cpp +index 0bfe6d3d..e704912b 100644 +--- a/src/pcl_ros/filters/filter.cpp ++++ b/src/pcl_ros/filters/filter.cpp +@@ -116,18 +116,18 @@ pcl_ros::Filter::subscribe() + { + sync_input_indices_a_ = boost::make_shared > >(max_queue_size_); + sync_input_indices_a_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_a_->registerCallback (bind (&Filter::input_indices_callback, this, _1, _2)); ++ sync_input_indices_a_->registerCallback (bind (&Filter::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_indices_e_ = boost::make_shared > >(max_queue_size_); + sync_input_indices_e_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_e_->registerCallback (bind (&Filter::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&Filter::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&Filter::input_indices_callback, this, _1, pcl_msgs::PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&Filter::input_indices_callback, this, boost::placeholders::_1, pcl_msgs::PointIndicesConstPtr ())); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -164,7 +164,7 @@ pcl_ros::Filter::onInit () + if (!has_service) + { + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&Filter::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&Filter::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + } + +diff --git a/src/pcl_ros/filters/passthrough.cpp b/src/pcl_ros/filters/passthrough.cpp +index 110fbac5..73fd2c96 100644 +--- a/src/pcl_ros/filters/passthrough.cpp ++++ b/src/pcl_ros/filters/passthrough.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/passthrough.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -45,7 +45,7 @@ pcl_ros::PassThrough::child_init (ros::NodeHandle &nh, bool &has_service) + // Enable the dynamic reconfigure service + has_service = true; + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&PassThrough::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&PassThrough::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + return (true); +diff --git a/src/pcl_ros/filters/project_inliers.cpp b/src/pcl_ros/filters/project_inliers.cpp +index 704dc484..cdc39980 100644 +--- a/src/pcl_ros/filters/project_inliers.cpp ++++ b/src/pcl_ros/filters/project_inliers.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/project_inliers.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -99,13 +99,13 @@ pcl_ros::ProjectInliers::subscribe () + { + sync_input_indices_model_a_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_model_a_->connectInput (sub_input_filter_, sub_indices_filter_, sub_model_); +- sync_input_indices_model_a_->registerCallback (bind (&ProjectInliers::input_indices_model_callback, this, _1, _2, _3)); ++ sync_input_indices_model_a_->registerCallback (bind (&ProjectInliers::input_indices_model_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + } + else + { + sync_input_indices_model_e_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_model_e_->connectInput (sub_input_filter_, sub_indices_filter_, sub_model_); +- sync_input_indices_model_e_->registerCallback (bind (&ProjectInliers::input_indices_model_callback, this, _1, _2, _3)); ++ sync_input_indices_model_e_->registerCallback (bind (&ProjectInliers::input_indices_model_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + } + } + +diff --git a/src/pcl_ros/filters/radius_outlier_removal.cpp b/src/pcl_ros/filters/radius_outlier_removal.cpp +index 331c6487..aa5c91fa 100644 +--- a/src/pcl_ros/filters/radius_outlier_removal.cpp ++++ b/src/pcl_ros/filters/radius_outlier_removal.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/radius_outlier_removal.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -45,7 +45,7 @@ pcl_ros::RadiusOutlierRemoval::child_init (ros::NodeHandle &nh, bool &has_servic + // Enable the dynamic reconfigure service + has_service = true; + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&RadiusOutlierRemoval::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&RadiusOutlierRemoval::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + return (true); +diff --git a/src/pcl_ros/filters/statistical_outlier_removal.cpp b/src/pcl_ros/filters/statistical_outlier_removal.cpp +index 2085dee6..e6e74cd1 100644 +--- a/src/pcl_ros/filters/statistical_outlier_removal.cpp ++++ b/src/pcl_ros/filters/statistical_outlier_removal.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/statistical_outlier_removal.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -45,7 +45,7 @@ pcl_ros::StatisticalOutlierRemoval::child_init (ros::NodeHandle &nh, bool &has_s + // Enable the dynamic reconfigure service + has_service = true; + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&StatisticalOutlierRemoval::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&StatisticalOutlierRemoval::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + return (true); +diff --git a/src/pcl_ros/filters/voxel_grid.cpp b/src/pcl_ros/filters/voxel_grid.cpp +index a3bf77f2..07687f7f 100644 +--- a/src/pcl_ros/filters/voxel_grid.cpp ++++ b/src/pcl_ros/filters/voxel_grid.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/filters/voxel_grid.h" + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -45,7 +45,7 @@ pcl_ros::VoxelGrid::child_init (ros::NodeHandle &nh, bool &has_service) + // Enable the dynamic reconfigure service + has_service = true; + srv_ = boost::make_shared > (nh); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&VoxelGrid::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&VoxelGrid::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + return (true); +diff --git a/src/pcl_ros/io/bag_io.cpp b/src/pcl_ros/io/bag_io.cpp +index 4209d9af..902ce2f5 100644 +--- a/src/pcl_ros/io/bag_io.cpp ++++ b/src/pcl_ros/io/bag_io.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include + #include "pcl_ros/io/bag_io.h" + +diff --git a/src/pcl_ros/io/concatenate_data.cpp b/src/pcl_ros/io/concatenate_data.cpp +index 458c6bfe..47d0bb4a 100644 +--- a/src/pcl_ros/io/concatenate_data.cpp ++++ b/src/pcl_ros/io/concatenate_data.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/transforms.h" + #include "pcl_ros/io/concatenate_data.h" + +@@ -118,7 +118,7 @@ pcl_ros::PointCloudConcatenateDataSynchronizer::subscribe () + } + + // Bogus null filter +- filters_[0]->registerCallback (bind (&PointCloudConcatenateDataSynchronizer::input_callback, this, _1)); ++ filters_[0]->registerCallback (bind (&PointCloudConcatenateDataSynchronizer::input_callback, this, boost::placeholders::_1)); + + switch (input_topics_.size ()) + { +@@ -186,9 +186,9 @@ pcl_ros::PointCloudConcatenateDataSynchronizer::subscribe () + } + + if (approximate_sync_) +- ts_a_->registerCallback (boost::bind (&PointCloudConcatenateDataSynchronizer::input, this, _1, _2, _3, _4, _5, _6, _7, _8)); ++ ts_a_->registerCallback (boost::bind (&PointCloudConcatenateDataSynchronizer::input, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4, boost::placeholders::_5, boost::placeholders::_6, boost::placeholders::_7, boost::placeholders::_8)); + else +- ts_e_->registerCallback (boost::bind (&PointCloudConcatenateDataSynchronizer::input, this, _1, _2, _3, _4, _5, _6, _7, _8)); ++ ts_e_->registerCallback (boost::bind (&PointCloudConcatenateDataSynchronizer::input, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4, boost::placeholders::_5, boost::placeholders::_6, boost::placeholders::_7, boost::placeholders::_8)); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/io/concatenate_fields.cpp b/src/pcl_ros/io/concatenate_fields.cpp +index b9567c3a..8b6b3c89 100644 +--- a/src/pcl_ros/io/concatenate_fields.cpp ++++ b/src/pcl_ros/io/concatenate_fields.cpp +@@ -37,7 +37,7 @@ + + /** \author Radu Bogdan Rusu */ + +-#include ++#include + #include "pcl_ros/io/concatenate_fields.h" + + #include +diff --git a/src/pcl_ros/io/io.cpp b/src/pcl_ros/io/io.cpp +index a2dcd458..58ff1152 100644 +--- a/src/pcl_ros/io/io.cpp ++++ b/src/pcl_ros/io/io.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include + #include + //#include +diff --git a/src/pcl_ros/io/pcd_io.cpp b/src/pcl_ros/io/pcd_io.cpp +index 9adf6882..31fca766 100644 +--- a/src/pcl_ros/io/pcd_io.cpp ++++ b/src/pcl_ros/io/pcd_io.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/segmentation/extract_clusters.cpp b/src/pcl_ros/segmentation/extract_clusters.cpp +index 5599b408..e9a03621 100644 +--- a/src/pcl_ros/segmentation/extract_clusters.cpp ++++ b/src/pcl_ros/segmentation/extract_clusters.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include + #include "pcl_ros/segmentation/extract_clusters.h" + +@@ -76,7 +76,7 @@ pcl_ros::EuclideanClusterExtraction::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&EuclideanClusterExtraction::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&EuclideanClusterExtraction::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + NODELET_DEBUG ("[%s::onInit] Nodelet successfully created with the following parameters:\n" +@@ -108,18 +108,18 @@ pcl_ros::EuclideanClusterExtraction::subscribe () + { + sync_input_indices_a_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_a_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_a_->registerCallback (bind (&EuclideanClusterExtraction::input_indices_callback, this, _1, _2)); ++ sync_input_indices_a_->registerCallback (bind (&EuclideanClusterExtraction::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_indices_e_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_e_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_e_->registerCallback (bind (&EuclideanClusterExtraction::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&EuclideanClusterExtraction::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&EuclideanClusterExtraction::input_indices_callback, this, _1, PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&EuclideanClusterExtraction::input_indices_callback, this, boost::placeholders::_1, PointIndicesConstPtr ())); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp b/src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp +index ff823b19..4d31ea80 100644 +--- a/src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp ++++ b/src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/transforms.h" + #include "pcl_ros/segmentation/extract_polygonal_prism_data.h" + +@@ -53,7 +53,7 @@ pcl_ros::ExtractPolygonalPrismData::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&ExtractPolygonalPrismData::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&ExtractPolygonalPrismData::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + // Advertise the output topics +@@ -85,7 +85,7 @@ pcl_ros::ExtractPolygonalPrismData::subscribe () + } + else + { +- sub_input_filter_.registerCallback (bind (&ExtractPolygonalPrismData::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&ExtractPolygonalPrismData::input_callback, this, boost::placeholders::_1)); + + if (approximate_sync_) + sync_input_hull_indices_a_->connectInput (sub_input_filter_, sub_hull_filter_, nf_); +@@ -94,9 +94,9 @@ pcl_ros::ExtractPolygonalPrismData::subscribe () + } + // Register callbacks + if (approximate_sync_) +- sync_input_hull_indices_a_->registerCallback (bind (&ExtractPolygonalPrismData::input_hull_indices_callback, this, _1, _2, _3)); ++ sync_input_hull_indices_a_->registerCallback (bind (&ExtractPolygonalPrismData::input_hull_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + else +- sync_input_hull_indices_e_->registerCallback (bind (&ExtractPolygonalPrismData::input_hull_indices_callback, this, _1, _2, _3)); ++ sync_input_hull_indices_e_->registerCallback (bind (&ExtractPolygonalPrismData::input_hull_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/segmentation/sac_segmentation.cpp b/src/pcl_ros/segmentation/sac_segmentation.cpp +index bc7b97e7..4ca23d65 100644 +--- a/src/pcl_ros/segmentation/sac_segmentation.cpp ++++ b/src/pcl_ros/segmentation/sac_segmentation.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/segmentation/sac_segmentation.h" + + #include +@@ -107,7 +107,7 @@ pcl_ros::SACSegmentation::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared >(*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&SACSegmentation::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&SACSegmentation::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + NODELET_DEBUG ("[%s::onInit] Nodelet successfully created with the following parameters:\n" +@@ -144,15 +144,15 @@ pcl_ros::SACSegmentation::subscribe () + if (latched_indices_) + { + // Subscribe to a callback that saves the indices +- sub_indices_filter_.registerCallback (bind (&SACSegmentation::indices_callback, this, _1)); ++ sub_indices_filter_.registerCallback (bind (&SACSegmentation::indices_callback, this, boost::placeholders::_1)); + // Subscribe to a callback that sets the header of the saved indices to the cloud header +- sub_input_filter_.registerCallback (bind (&SACSegmentation::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&SACSegmentation::input_callback, this, boost::placeholders::_1)); + + // Synchronize the two topics. No need for an approximate synchronizer here, as we'll + // match the timestamps exactly + sync_input_indices_e_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_e_->connectInput (sub_input_filter_, nf_pi_); +- sync_input_indices_e_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + // "latched_indices" not set, proceed with regular pairs + else +@@ -161,19 +161,19 @@ pcl_ros::SACSegmentation::subscribe () + { + sync_input_indices_a_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_a_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_a_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, _1, _2)); ++ sync_input_indices_a_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_indices_e_ = boost::make_shared > > (max_queue_size_); + sync_input_indices_e_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_e_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&SACSegmentation::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&SACSegmentation::input_indices_callback, this, _1, PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", max_queue_size_, bind (&SACSegmentation::input_indices_callback, this, boost::placeholders::_1, PointIndicesConstPtr ())); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +@@ -367,7 +367,7 @@ pcl_ros::SACSegmentationFromNormals::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&SACSegmentationFromNormals::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&SACSegmentationFromNormals::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + // Advertise the output topics +@@ -471,7 +471,7 @@ pcl_ros::SACSegmentationFromNormals::subscribe () + else + { + // Create a different callback for copying over the timestamp to fake indices +- sub_input_filter_.registerCallback (bind (&SACSegmentationFromNormals::input_callback, this, _1)); ++ sub_input_filter_.registerCallback (bind (&SACSegmentationFromNormals::input_callback, this, boost::placeholders::_1)); + + if (approximate_sync_) + sync_input_normals_indices_a_->connectInput (sub_input_filter_, sub_normals_filter_, nf_); +@@ -480,9 +480,9 @@ pcl_ros::SACSegmentationFromNormals::subscribe () + } + + if (approximate_sync_) +- sync_input_normals_indices_a_->registerCallback (bind (&SACSegmentationFromNormals::input_normals_indices_callback, this, _1, _2, _3)); ++ sync_input_normals_indices_a_->registerCallback (bind (&SACSegmentationFromNormals::input_normals_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + else +- sync_input_normals_indices_e_->registerCallback (bind (&SACSegmentationFromNormals::input_normals_indices_callback, this, _1, _2, _3)); ++ sync_input_normals_indices_e_->registerCallback (bind (&SACSegmentationFromNormals::input_normals_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/segmentation/segment_differences.cpp b/src/pcl_ros/segmentation/segment_differences.cpp +index e3979549..1066ea3f 100644 +--- a/src/pcl_ros/segmentation/segment_differences.cpp ++++ b/src/pcl_ros/segmentation/segment_differences.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/segmentation/segment_differences.h" + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +@@ -65,20 +65,20 @@ pcl_ros::SegmentDifferences::subscribe () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&SegmentDifferences::config_callback, this, _1, _2); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&SegmentDifferences::config_callback, this, boost::placeholders::_1, boost::placeholders::_2); + srv_->setCallback (f); + + if (approximate_sync_) + { + sync_input_target_a_ = boost::make_shared > > (max_queue_size_); + sync_input_target_a_->connectInput (sub_input_filter_, sub_target_filter_); +- sync_input_target_a_->registerCallback (bind (&SegmentDifferences::input_target_callback, this, _1, _2)); ++ sync_input_target_a_->registerCallback (bind (&SegmentDifferences::input_target_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_target_e_ = boost::make_shared > > (max_queue_size_); + sync_input_target_e_->connectInput (sub_input_filter_, sub_target_filter_); +- sync_input_target_e_->registerCallback (bind (&SegmentDifferences::input_target_callback, this, _1, _2)); ++ sync_input_target_e_->registerCallback (bind (&SegmentDifferences::input_target_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + +diff --git a/src/pcl_ros/surface/convex_hull.cpp b/src/pcl_ros/surface/convex_hull.cpp +index 75903889..08f52f42 100644 +--- a/src/pcl_ros/surface/convex_hull.cpp ++++ b/src/pcl_ros/surface/convex_hull.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/surface/convex_hull.h" + #include + +@@ -76,19 +76,19 @@ pcl_ros::ConvexHull2D::subscribe() + sync_input_indices_a_ = boost::make_shared > >(max_queue_size_); + // surface not enabled, connect the input-indices duo and register + sync_input_indices_a_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_a_->registerCallback (bind (&ConvexHull2D::input_indices_callback, this, _1, _2)); ++ sync_input_indices_a_->registerCallback (bind (&ConvexHull2D::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_indices_e_ = boost::make_shared > >(max_queue_size_); + // surface not enabled, connect the input-indices duo and register + sync_input_indices_e_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_e_->registerCallback (bind (&ConvexHull2D::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&ConvexHull2D::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", 1, bind (&ConvexHull2D::input_indices_callback, this, _1, PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", 1, bind (&ConvexHull2D::input_indices_callback, this, boost::placeholders::_1, PointIndicesConstPtr ())); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/pcl_ros/surface/moving_least_squares.cpp b/src/pcl_ros/surface/moving_least_squares.cpp +index 9fd2e348..8baa9cb6 100644 +--- a/src/pcl_ros/surface/moving_least_squares.cpp ++++ b/src/pcl_ros/surface/moving_least_squares.cpp +@@ -35,7 +35,7 @@ + * + */ + +-#include ++#include + #include "pcl_ros/surface/moving_least_squares.h" + ////////////////////////////////////////////////////////////////////////////////////////////// + void +@@ -62,7 +62,7 @@ pcl_ros::MovingLeastSquares::onInit () + + // Enable the dynamic reconfigure service + srv_ = boost::make_shared > (*pnh_); +- dynamic_reconfigure::Server::CallbackType f = boost::bind (&MovingLeastSquares::config_callback, this, _1, _2 ); ++ dynamic_reconfigure::Server::CallbackType f = boost::bind (&MovingLeastSquares::config_callback, this, boost::placeholders::_1, boost::placeholders::_2 ); + srv_->setCallback (f); + + // ---[ Optional parameters +@@ -93,19 +93,19 @@ pcl_ros::MovingLeastSquares::subscribe () + sync_input_indices_a_ = boost::make_shared > >(max_queue_size_); + // surface not enabled, connect the input-indices duo and register + sync_input_indices_a_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_a_->registerCallback (bind (&MovingLeastSquares::input_indices_callback, this, _1, _2)); ++ sync_input_indices_a_->registerCallback (bind (&MovingLeastSquares::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + else + { + sync_input_indices_e_ = boost::make_shared > >(max_queue_size_); + // surface not enabled, connect the input-indices duo and register + sync_input_indices_e_->connectInput (sub_input_filter_, sub_indices_filter_); +- sync_input_indices_e_->registerCallback (bind (&MovingLeastSquares::input_indices_callback, this, _1, _2)); ++ sync_input_indices_e_->registerCallback (bind (&MovingLeastSquares::input_indices_callback, this, boost::placeholders::_1, boost::placeholders::_2)); + } + } + else + // Subscribe in an old fashion to input only (no filters) +- sub_input_ = pnh_->subscribe ("input", 1, bind (&MovingLeastSquares::input_indices_callback, this, _1, PointIndicesConstPtr ())); ++ sub_input_ = pnh_->subscribe ("input", 1, bind (&MovingLeastSquares::input_indices_callback, this, boost::placeholders::_1, PointIndicesConstPtr ())); + } + + ////////////////////////////////////////////////////////////////////////////////////////////// +diff --git a/src/test/test_tf_message_filter_pcl.cpp b/src/test/test_tf_message_filter_pcl.cpp +index 073e358c..b324fc8a 100644 +--- a/src/test/test_tf_message_filter_pcl.cpp ++++ b/src/test/test_tf_message_filter_pcl.cpp +@@ -37,7 +37,7 @@ + #include + #include + +-#include ++#include + #include + + #include +@@ -104,7 +104,7 @@ TEST(MessageFilter, noTransforms) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + + boost::shared_ptr msg(new PCDType); + ros::Time stamp = ros::Time::now(); +@@ -120,7 +120,7 @@ TEST(MessageFilter, noTransformsSameFrame) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + + boost::shared_ptr msg(new PCDType); + ros::Time stamp = ros::Time::now(); +@@ -136,7 +136,7 @@ TEST(MessageFilter, preexistingTransforms) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + + boost::shared_ptr msg(new PCDType); + +@@ -157,7 +157,7 @@ TEST(MessageFilter, postTransforms) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + + ros::Time stamp = ros::Time::now(); + boost::shared_ptr msg(new PCDType); +@@ -182,8 +182,8 @@ TEST(MessageFilter, queueSize) + tf::TransformListener tf_client; + Notification n(10); + MessageFilter filter(tf_client, "frame1", 10); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); +- filter.registerFailureCallback(boost::bind(&Notification::failure, &n, _1, _2)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); ++ filter.registerFailureCallback(boost::bind(&Notification::failure, &n, boost::placeholders::_1, boost::placeholders::_2)); + + ros::Time stamp = ros::Time::now(); + std::uint64_t pcl_stamp; +@@ -215,7 +215,7 @@ TEST(MessageFilter, setTargetFrame) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + filter.setTargetFrame("frame1000"); + + ros::Time stamp = ros::Time::now(); +@@ -237,7 +237,7 @@ TEST(MessageFilter, multipleTargetFrames) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + + std::vector target_frames; + target_frames.push_back("frame1"); +@@ -276,7 +276,7 @@ TEST(MessageFilter, tolerance) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerCallback(boost::bind(&Notification::notify, &n, _1)); ++ filter.registerCallback(boost::bind(&Notification::notify, &n, boost::placeholders::_1)); + filter.setTolerance(offset); + + ros::Time stamp = ros::Time::now(); +@@ -316,7 +316,7 @@ TEST(MessageFilter, outTheBackFailure) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerFailureCallback(boost::bind(&Notification::failure, &n, _1, _2)); ++ filter.registerFailureCallback(boost::bind(&Notification::failure, &n, boost::placeholders::_1, boost::placeholders::_2)); + + ros::Time stamp = ros::Time::now(); + boost::shared_ptr msg(new PCDType); +@@ -339,7 +339,7 @@ TEST(MessageFilter, emptyFrameIDFailure) + tf::TransformListener tf_client; + Notification n(1); + MessageFilter filter(tf_client, "frame1", 1); +- filter.registerFailureCallback(boost::bind(&Notification::failure, &n, _1, _2)); ++ filter.registerFailureCallback(boost::bind(&Notification::failure, &n, boost::placeholders::_1, boost::placeholders::_2)); + + boost::shared_ptr msg(new PCDType); + msg->header.frame_id = ""; diff --git a/recipes/ros-noetic-pcl-ros/recipe.yaml b/recipes/ros-noetic-pcl-ros/recipe.yaml new file mode 100644 index 000000000..9b2f92edc --- /dev/null +++ b/recipes/ros-noetic-pcl-ros/recipe.yaml @@ -0,0 +1,104 @@ +package: + name: ros-noetic-pcl-ros + version: 1.7.4 +source: + git_url: https://github.com/ros-gbp/perception_pcl-release.git + git_rev: release/noetic/pcl_ros/1.7.4-1 + folder: ros-noetic-pcl-ros/src/work + patches: + - patch/ros-noetic-pcl-ros.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - eigen + - numpy + - pcl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-nodelet-topic-tools + - ros-noetic-pcl-conversions + - ros-noetic-pcl-msgs + - ros-noetic-pluginlib + - ros-noetic-rosbag + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - eigen + - pcl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-nodelet-topic-tools + - ros-noetic-pcl-conversions + - ros-noetic-pcl-msgs + - ros-noetic-pluginlib + - ros-noetic-rosbag + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-perception-pcl/bld_catkin.bat b/recipes/ros-noetic-perception-pcl/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-perception-pcl/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-perception-pcl/build_catkin.sh b/recipes/ros-noetic-perception-pcl/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-perception-pcl/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-perception-pcl/recipe.yaml b/recipes/ros-noetic-perception-pcl/recipe.yaml new file mode 100644 index 000000000..23ed81086 --- /dev/null +++ b/recipes/ros-noetic-perception-pcl/recipe.yaml @@ -0,0 +1,53 @@ +package: + name: ros-noetic-perception-pcl + version: 1.7.4 +source: + git_url: https://github.com/ros-gbp/perception_pcl-release.git + git_rev: release/noetic/perception_pcl/1.7.4-1 + folder: ros-noetic-perception-pcl/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-pcl-conversions + - ros-noetic-pcl-msgs + - ros-noetic-pcl-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-perception/bld_catkin.bat b/recipes/ros-noetic-perception/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-perception/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-perception/build_catkin.sh b/recipes/ros-noetic-perception/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-perception/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-perception/recipe.yaml b/recipes/ros-noetic-perception/recipe.yaml new file mode 100644 index 000000000..0700e5225 --- /dev/null +++ b/recipes/ros-noetic-perception/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-perception + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/perception/1.5.0-1 + folder: ros-noetic-perception/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-image-common + - ros-noetic-image-pipeline + - ros-noetic-image-transport-plugins + - ros-noetic-laser-pipeline + - ros-noetic-perception-pcl + - ros-noetic-ros-base + - ros-noetic-vision-opencv + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-pid/bld_catkin.bat b/recipes/ros-noetic-pid/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pid/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pid/build_catkin.sh b/recipes/ros-noetic-pid/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pid/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pid/recipe.yaml b/recipes/ros-noetic-pid/recipe.yaml new file mode 100644 index 000000000..f30be4f8f --- /dev/null +++ b/recipes/ros-noetic-pid/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-pid + version: 0.0.28 +source: + git_url: https://github.com/AndyZe/pid-release.git + git_rev: release/noetic/pid/0.0.28-1 + folder: ros-noetic-pid/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/bld_catkin.bat b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pilz-industrial-motion-planner-testutils/build_catkin.sh b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pilz-industrial-motion-planner-testutils/recipe.yaml b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/recipe.yaml new file mode 100644 index 000000000..4c0d06588 --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner-testutils/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-pilz-industrial-motion-planner-testutils + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/pilz_industrial_motion_planner_testutils/1.1.13-2 + folder: ros-noetic-pilz-industrial-motion-planner-testutils/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-moveit-commander + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-tf2-eigen + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-moveit-commander + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-pilz-industrial-motion-planner/bld_catkin.bat b/recipes/ros-noetic-pilz-industrial-motion-planner/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-pilz-industrial-motion-planner/build_catkin.sh b/recipes/ros-noetic-pilz-industrial-motion-planner/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-pilz-industrial-motion-planner/patch/ros-noetic-pilz-industrial-motion-planner.patch b/recipes/ros-noetic-pilz-industrial-motion-planner/patch/ros-noetic-pilz-industrial-motion-planner.patch new file mode 100644 index 000000000..9bc484ed4 --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner/patch/ros-noetic-pilz-industrial-motion-planner.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a67a3318c..e6e07c89b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,7 +109,7 @@ add_library(planning_context_loader_ptp + src/joint_limits_container.cpp + ) + target_link_libraries(planning_context_loader_ptp +- ${catkin_LIBRARIES}) ++ ${catkin_LIBRARIES} ${PROJECT_NAME}) + + add_library(planning_context_loader_lin + src/planning_context_loader_lin.cpp +@@ -120,7 +120,7 @@ add_library(planning_context_loader_lin + src/velocity_profile_atrap.cpp + ) + target_link_libraries(planning_context_loader_lin +- ${catkin_LIBRARIES}) ++ ${catkin_LIBRARIES} ${PROJECT_NAME}) + + add_library(planning_context_loader_circ + src/planning_context_loader_circ.cpp +@@ -131,13 +131,16 @@ add_library(planning_context_loader_circ + src/path_circle_generator.cpp + ) + target_link_libraries(planning_context_loader_circ +- ${catkin_LIBRARIES}) ++ ${PROJECT_NAME} ${catkin_LIBRARIES} ${PROJECT_NAME}) + + add_library(command_list_manager + src/command_list_manager.cpp +- src/plan_components_builder.cpp) ++ src/plan_components_builder.cpp ++ src/trajectory_functions.cpp ++ src/trajectory_blender_transition_window.cpp ++ ) + target_link_libraries(command_list_manager +- ${catkin_LIBRARIES}) ++ ${PROJECT_NAME} ${catkin_LIBRARIES}) + add_dependencies(command_list_manager + ${catkin_EXPORTED_TARGETS}) + +@@ -152,9 +155,10 @@ add_library(sequence_capability + src/limits_container.cpp + src/cartesian_limit.cpp + src/cartesian_limits_aggregator.cpp ++ src/trajectory_functions.cpp + ) + target_link_libraries(sequence_capability +- ${catkin_LIBRARIES}) ++ ${catkin_LIBRARIES} ${PROJECT_NAME}) + add_dependencies(sequence_capability + ${catkin_EXPORTED_TARGETS}) + diff --git a/recipes/ros-noetic-pilz-industrial-motion-planner/recipe.yaml b/recipes/ros-noetic-pilz-industrial-motion-planner/recipe.yaml new file mode 100644 index 000000000..779250df4 --- /dev/null +++ b/recipes/ros-noetic-pilz-industrial-motion-planner/recipe.yaml @@ -0,0 +1,89 @@ +package: + name: ros-noetic-pilz-industrial-motion-planner + version: 1.1.13 +source: + git_url: https://github.com/ros-gbp/moveit-release.git + git_rev: release/noetic/pilz_industrial_motion_planner/1.1.13-2 + folder: ros-noetic-pilz-industrial-motion-planner/src/work + patches: + - patch/ros-noetic-pilz-industrial-motion-planner.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-code-coverage + - ros-noetic-joint-limits-interface + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-resources-panda-moveit-config + - ros-noetic-moveit-resources-prbt-moveit-config + - ros-noetic-moveit-resources-prbt-pg70-support + - ros-noetic-moveit-resources-prbt-support + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-pilz-industrial-motion-planner-testutils + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-kdl + - ros-noetic-tf2-ros + run: + - orocos-kdl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-limits-interface + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-move-group + - ros-noetic-moveit-ros-planning + - ros-noetic-moveit-ros-planning-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-kdl + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-plotjuggler-ros/bld_catkin.bat b/recipes/ros-noetic-plotjuggler-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-plotjuggler-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-plotjuggler-ros/build_catkin.sh b/recipes/ros-noetic-plotjuggler-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-plotjuggler-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-plotjuggler-ros/recipe.yaml b/recipes/ros-noetic-plotjuggler-ros/recipe.yaml new file mode 100644 index 000000000..2753886a8 --- /dev/null +++ b/recipes/ros-noetic-plotjuggler-ros/recipe.yaml @@ -0,0 +1,81 @@ +package: + name: ros-noetic-plotjuggler-ros + version: 2.0.0 +source: + git_url: https://github.com/PlotJuggler/plotjuggler-ros-plugins-release.git + git_rev: release/noetic/plotjuggler_ros/2.0.0-1 + folder: ros-noetic-plotjuggler-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-plotjuggler + - ros-noetic-ros-type-introspection + - ros-noetic-rosbag-storage + - ros-noetic-roscpp + - ros-noetic-roscpp-serialization + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - boost + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-plotjuggler + - ros-noetic-ros-type-introspection + - ros-noetic-rosbag-storage + - ros-noetic-roscpp + - ros-noetic-roscpp-serialization + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-polled-camera/bld_catkin.bat b/recipes/ros-noetic-polled-camera/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-polled-camera/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-polled-camera/build_catkin.sh b/recipes/ros-noetic-polled-camera/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-polled-camera/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-polled-camera/recipe.yaml b/recipes/ros-noetic-polled-camera/recipe.yaml new file mode 100644 index 000000000..0def17bd6 --- /dev/null +++ b/recipes/ros-noetic-polled-camera/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-polled-camera + version: 1.12.0 +source: + git_url: https://github.com/ros-gbp/image_common-release.git + git_rev: release/noetic/polled_camera/1.12.0-1 + folder: ros-noetic-polled-camera/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-image-transport + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-image-transport + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-position-controllers/bld_catkin.bat b/recipes/ros-noetic-position-controllers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-position-controllers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-position-controllers/build_catkin.sh b/recipes/ros-noetic-position-controllers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-position-controllers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-position-controllers/recipe.yaml b/recipes/ros-noetic-position-controllers/recipe.yaml new file mode 100644 index 000000000..24f9eb1ea --- /dev/null +++ b/recipes/ros-noetic-position-controllers/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-position-controllers + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/position_controllers/0.21.2-1 + folder: ros-noetic-position-controllers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-roscpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-interface + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-realsense2-camera/bld_catkin.bat b/recipes/ros-noetic-realsense2-camera/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-realsense2-camera/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-realsense2-camera/build_catkin.sh b/recipes/ros-noetic-realsense2-camera/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-realsense2-camera/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-realsense2-camera/patch/ros-noetic-realsense2-camera.patch b/recipes/ros-noetic-realsense2-camera/patch/ros-noetic-realsense2-camera.patch new file mode 100644 index 000000000..2a8f89a7a --- /dev/null +++ b/recipes/ros-noetic-realsense2-camera/patch/ros-noetic-realsense2-camera.patch @@ -0,0 +1,13 @@ +diff --git a/src/base_realsense_node.cpp b/src/base_realsense_node.cpp +index f918500..531a2e9 100644 +--- a/src/base_realsense_node.cpp ++++ b/src/base_realsense_node.cpp +@@ -2153,7 +2153,7 @@ void BaseRealSenseNode::publishPointCloud(rs2::points pc, const ros::Time& t, co + return; + ROS_INFO_STREAM_ONCE("publishing " << (_ordered_pc ? "" : "un") << "ordered pointcloud."); + +- rs2_stream texture_source_id = static_cast(_pointcloud_filter->get_option(rs2_option::RS2_OPTION_STREAM_FILTER)); ++ rs2_stream texture_source_id = static_cast((int)_pointcloud_filter->get_option(rs2_option::RS2_OPTION_STREAM_FILTER)); + bool use_texture = texture_source_id != RS2_STREAM_ANY; + static int warn_count(0); + static const int DISPLAY_WARN_NUMBER(5); diff --git a/recipes/ros-noetic-realsense2-camera/recipe.yaml b/recipes/ros-noetic-realsense2-camera/recipe.yaml new file mode 100644 index 000000000..a7e751581 --- /dev/null +++ b/recipes/ros-noetic-realsense2-camera/recipe.yaml @@ -0,0 +1,83 @@ +package: + name: ros-noetic-realsense2-camera + version: 2.3.2 +source: + git_url: https://github.com/IntelRealSense/realsense-ros-release.git + git_rev: release/noetic/realsense2_camera/2.3.2-1 + folder: ros-noetic-realsense2-camera/src/work + patches: + - patch/ros-noetic-realsense2-camera.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-ddynamic-reconfigure + - ros-noetic-diagnostic-updater + - ros-noetic-genmsg + - ros-noetic-image-transport + - ros-noetic-librealsense2 + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-ddynamic-reconfigure + - ros-noetic-diagnostic-updater + - ros-noetic-genmsg + - ros-noetic-image-transport + - ros-noetic-librealsense2 + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-nodelet + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-realtime-tools/bld_catkin.bat b/recipes/ros-noetic-realtime-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-realtime-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-realtime-tools/build_catkin.sh b/recipes/ros-noetic-realtime-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-realtime-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-realtime-tools/patch/ros-noetic-realtime-tools.patch b/recipes/ros-noetic-realtime-tools/patch/ros-noetic-realtime-tools.patch new file mode 100644 index 000000000..685a082a6 --- /dev/null +++ b/recipes/ros-noetic-realtime-tools/patch/ros-noetic-realtime-tools.patch @@ -0,0 +1,30 @@ +From f3d6ff3c30285d5d78953b5d9bf1f93f756beedc Mon Sep 17 00:00:00 2001 +From: Matt Reynolds +Date: Sun, 5 Apr 2020 14:20:47 -0400 +Subject: [PATCH] Add missing #include + +--- + include/realtime_tools/realtime_publisher.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/include/realtime_tools/realtime_publisher.h b/include/realtime_tools/realtime_publisher.h +index ceb0194..7fd9ea6 100644 +--- a/include/realtime_tools/realtime_publisher.h ++++ b/include/realtime_tools/realtime_publisher.h +@@ -38,12 +38,14 @@ + #ifndef REALTIME_TOOLS__REALTIME_PUBLISHER_H_ + #define REALTIME_TOOLS__REALTIME_PUBLISHER_H_ + +-#include + #include ++ ++#include + #include + #include + #include + #include ++#include + #include + + namespace realtime_tools { + diff --git a/recipes/ros-noetic-realtime-tools/recipe.yaml b/recipes/ros-noetic-realtime-tools/recipe.yaml new file mode 100644 index 000000000..350d9bf77 --- /dev/null +++ b/recipes/ros-noetic-realtime-tools/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-realtime-tools + version: 1.16.1 +source: + git_url: https://github.com/ros-gbp/realtime_tools-release.git + git_rev: release/noetic/realtime_tools/1.16.1-1 + folder: ros-noetic-realtime-tools/src/work + patches: + - patch/ros-noetic-realtime-tools.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rosunit + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-roscpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rgbd-launch/bld_catkin.bat b/recipes/ros-noetic-rgbd-launch/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rgbd-launch/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rgbd-launch/build_catkin.sh b/recipes/ros-noetic-rgbd-launch/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rgbd-launch/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rgbd-launch/recipe.yaml b/recipes/ros-noetic-rgbd-launch/recipe.yaml new file mode 100644 index 000000000..4cb37d9c2 --- /dev/null +++ b/recipes/ros-noetic-rgbd-launch/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-rgbd-launch + version: 2.4.0 +source: + git_url: https://github.com/ros-gbp/rgbd_launch-release.git + git_rev: release/noetic/rgbd_launch/2.4.0-1 + folder: ros-noetic-rgbd-launch/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-depth-image-proc + - ros-noetic-image-proc + - ros-noetic-nodelet + - ros-noetic-rostest + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-depth-image-proc + - ros-noetic-image-proc + - ros-noetic-nodelet + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-robot-state-publisher/bld_catkin.bat b/recipes/ros-noetic-robot-state-publisher/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-robot-state-publisher/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-robot-state-publisher/build_catkin.sh b/recipes/ros-noetic-robot-state-publisher/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-robot-state-publisher/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-robot-state-publisher/recipe.yaml b/recipes/ros-noetic-robot-state-publisher/recipe.yaml new file mode 100644 index 000000000..6beda2e1d --- /dev/null +++ b/recipes/ros-noetic-robot-state-publisher/recipe.yaml @@ -0,0 +1,72 @@ +package: + name: ros-noetic-robot-state-publisher + version: 1.15.2 +source: + git_url: https://github.com/ros-gbp/robot_state_publisher-release.git + git_rev: release/noetic/robot_state_publisher/1.15.2-1 + folder: ros-noetic-robot-state-publisher/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-kdl-parser + - ros-noetic-rosbag + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rostime + - ros-noetic-sensor-msgs + - ros-noetic-tf + - ros-noetic-tf2-kdl + - ros-noetic-tf2-ros + - urdfdom_headers + run: + - orocos-kdl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-kdl-parser + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostime + - ros-noetic-sensor-msgs + - ros-noetic-tf + - ros-noetic-tf2-kdl + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-robot/bld_catkin.bat b/recipes/ros-noetic-robot/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-robot/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-robot/build_catkin.sh b/recipes/ros-noetic-robot/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-robot/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-robot/recipe.yaml b/recipes/ros-noetic-robot/recipe.yaml new file mode 100644 index 000000000..f377fccee --- /dev/null +++ b/recipes/ros-noetic-robot/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-robot + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/robot/1.5.0-1 + folder: ros-noetic-robot/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-control-msgs + - ros-noetic-diagnostics + - ros-noetic-executive-smach + - ros-noetic-filters + - ros-noetic-geometry + - ros-noetic-joint-state-publisher + - ros-noetic-kdl-parser + - ros-noetic-robot-state-publisher + - ros-noetic-ros-base + - ros-noetic-urdf + - ros-noetic-urdf-parser-plugin + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-ros-babel-fish/bld_catkin.bat b/recipes/ros-noetic-ros-babel-fish/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ros-babel-fish/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ros-babel-fish/build_catkin.sh b/recipes/ros-noetic-ros-babel-fish/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ros-babel-fish/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ros-babel-fish/patch/ros-noetic-ros-babel-fish.patch b/recipes/ros-noetic-ros-babel-fish/patch/ros-noetic-ros-babel-fish.patch new file mode 100644 index 000000000..f7ae0675d --- /dev/null +++ b/recipes/ros-noetic-ros-babel-fish/patch/ros-noetic-ros-babel-fish.patch @@ -0,0 +1,533 @@ +diff --git a/ros_babel_fish/CMakeLists.txt b/ros_babel_fish/CMakeLists.txt +index 45e26fe..d625e0f 100644 +--- a/ros_babel_fish/CMakeLists.txt ++++ b/ros_babel_fish/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.5.1) ++cmake_minimum_required(VERSION 3.10.2) + project(ros_babel_fish VERSION 0.9.1) + + # If the value doesn't fit, an exception is thrown in any case because that could result in unexpected behavior and can not be ignored lightly +@@ -9,9 +9,9 @@ if (WARN_ON_INCOMPATIBLE_TYPE) + endif () + + ## Compile as C++11, supported in ROS Kinetic and newer +-add_compile_options(-std=c++11) ++set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD_REQUIRED ON) + +-add_definitions(-Wall -Wextra) + + #set(CMAKE_BUILD_TYPE "Debug") + +@@ -20,6 +20,7 @@ add_definitions(-Wall -Wextra) + ## is used, also find other catkin packages + find_package(catkin REQUIRED COMPONENTS actionlib roscpp roslib std_msgs) + find_package(OpenSSL REQUIRED) ++find_package(Boost REQUIRED COMPONENTS filesystem) + + ################################### + ## catkin specific configuration ## +@@ -34,7 +35,7 @@ catkin_package( + INCLUDE_DIRS include + LIBRARIES ${PROJECT_NAME} + CATKIN_DEPENDS actionlib roscpp roslib +- DEPENDS OPENSSL ++ DEPENDS OPENSSL Boost + ) + + ########### +@@ -46,13 +47,13 @@ catkin_package( + include_directories( + include + ${catkin_INCLUDE_DIRS} ++ ${Boost_INCLUDE_DIRS} + ${OPENSSL_INCLUDE_DIR} + ) + + set(LIBRARIES + ${catkin_LIBRARIES} + OpenSSL::SSL +- stdc++fs + ) + + set(SOURCES +diff --git a/ros_babel_fish/examples/rosbag_frame_ids.cpp b/ros_babel_fish/examples/rosbag_frame_ids.cpp +index 1aae260..ab0f36e 100644 +--- a/ros_babel_fish/examples/rosbag_frame_ids.cpp ++++ b/ros_babel_fish/examples/rosbag_frame_ids.cpp +@@ -47,7 +47,7 @@ public: + + const uint8_t *buffer() const final + { +- if ( buffer_.empty() and size() > 0 ) ++ if ( buffer_.empty() && size() > 0 ) + { + buffer_.resize( size()); + ros::serialization::OStream stream( buffer_.data(), buffer_.size()); +diff --git a/ros_babel_fish/include/ros_babel_fish/actionlib/client/babel_fish_action_client.h b/ros_babel_fish/include/ros_babel_fish/actionlib/client/babel_fish_action_client.h +index 8714b5b..a7c1580 100644 +--- a/ros_babel_fish/include/ros_babel_fish/actionlib/client/babel_fish_action_client.h ++++ b/ros_babel_fish/include/ros_babel_fish/actionlib/client/babel_fish_action_client.h +@@ -179,20 +179,20 @@ private: + // Start publishers and subscribers + goal_pub_ = advertiseGoal( description, "goal", static_cast(pub_queue_size), + boost::bind( &ConnectionMonitor::goalConnectCallback, connection_monitor_, +- _1 ), ++ boost::placeholders::_1 ), + boost::bind( &ConnectionMonitor::goalDisconnectCallback, +- connection_monitor_, _1 ), ++ connection_monitor_, boost::placeholders::_1 ), + queue ); + cancel_pub_ = + queue_advertise( "cancel", static_cast(pub_queue_size), + boost::bind( &ConnectionMonitor::cancelConnectCallback, +- connection_monitor_, _1 ), ++ connection_monitor_, boost::placeholders::_1 ), + boost::bind( &ConnectionMonitor::cancelDisconnectCallback, +- connection_monitor_, _1 ), ++ connection_monitor_, boost::placeholders::_1 ), + queue ); + +- manager_.registerSendGoalFunc( boost::bind( &ActionClientT::sendGoalFunc, this, _1 )); +- manager_.registerCancelFunc( boost::bind( &ActionClientT::sendCancelFunc, this, _1 )); ++ manager_.registerSendGoalFunc( boost::bind( &ActionClientT::sendGoalFunc, this, boost::placeholders::_1 )); ++ manager_.registerCancelFunc( boost::bind( &ActionClientT::sendCancelFunc, this, boost::placeholders::_1 )); + } + + ros::Publisher advertiseGoal( const ::ros_babel_fish::MessageDescription::ConstPtr &description, +@@ -235,7 +235,7 @@ private: + ops.datatype = ros::message_traits::datatype(); + ops.helper = ros::SubscriptionCallbackHelperPtr( + new ros::SubscriptionCallbackHelperT &>( +- boost::bind( fp, obj, _1 ) ++ boost::bind( fp, obj, boost::placeholders::_1 ) + ) + ); + return n_.subscribe( ops ); +diff --git a/ros_babel_fish/include/ros_babel_fish/actionlib/client/simple_action_client.h b/ros_babel_fish/include/ros_babel_fish/actionlib/client/simple_action_client.h +index 29e4db8..ed69bdf 100644 +--- a/ros_babel_fish/include/ros_babel_fish/actionlib/client/simple_action_client.h ++++ b/ros_babel_fish/include/ros_babel_fish/actionlib/client/simple_action_client.h +@@ -319,8 +319,8 @@ void SimpleActionClient<::ros_babel_fish::BabelFishAction_ > + cur_simple_state_ = SimpleGoalState::PENDING; + + // Send the goal to the ActionServer +- gh_ = ac_->sendGoal( goal, boost::bind( &SimpleActionClientT::handleTransition, this, _1 ), +- boost::bind( &SimpleActionClientT::handleFeedback, this, _1, _2 )); ++ gh_ = ac_->sendGoal( goal, boost::bind( &SimpleActionClientT::handleTransition, this, boost::placeholders::_1 ), ++ boost::bind( &SimpleActionClientT::handleFeedback, this, boost::placeholders::_1, boost::placeholders::_2 )); + } + + template +diff --git a/ros_babel_fish/include/ros_babel_fish/message.h b/ros_babel_fish/include/ros_babel_fish/message.h +index 278378c..50d36ec 100644 +--- a/ros_babel_fish/include/ros_babel_fish/message.h ++++ b/ros_babel_fish/include/ros_babel_fish/message.h +@@ -8,7 +8,16 @@ + #include "ros_babel_fish/exceptions/babel_fish_exception.h" + #include + ++#include + #include ++#include ++ ++#ifdef _WIN32 ++#include ++typedef SSIZE_T ssize_t; ++#else ++#include ++#endif + + namespace ros_babel_fish + { +@@ -64,7 +73,7 @@ public: + /*! + * Alias for _stream(). Removed in future release. + */ +- __attribute_deprecated__ const uint8_t *data() const { return _stream(); } ++ const uint8_t *data() const { return _stream(); } + + /*! + * @return Size of the message in bytes if serialized in ROS message binary format +@@ -74,7 +83,7 @@ public: + /*! + * Alias for _sizeInBytes(). Removed in future release. + */ +- __attribute_deprecated__ size_t size() const { return _sizeInBytes(); } ++ size_t size() const { return _sizeInBytes(); } + + /*! + * @return Whether or not the message is detached from the stream. If false, the message is not fully copied and still relies on the translated message. +diff --git a/ros_babel_fish/include/ros_babel_fish/messages/array_message.h b/ros_babel_fish/include/ros_babel_fish/messages/array_message.h +index 0dfd852..cc65e00 100644 +--- a/ros_babel_fish/include/ros_babel_fish/messages/array_message.h ++++ b/ros_babel_fish/include/ros_babel_fish/messages/array_message.h +@@ -117,7 +117,7 @@ public: + * Alias for assign + * Deprecated, will be removed in a future release + */ +- __attribute_deprecated__ void setItem( size_t index, ArgumentType value ) { assign( index, value ); } ++ void setItem( size_t index, ArgumentType value ) { assign( index, value ); } + + void push_back( ArgumentType value ) + { +@@ -139,7 +139,7 @@ public: + * Alias for push_back + * Deprecated, will be removed in a future release + */ +- __attribute_deprecated__ void addItem( ArgumentType value ) { push_back( value ); } ++ void addItem( ArgumentType value ) { push_back( value ); } + + size_t _sizeInBytes() const override + { +@@ -219,41 +219,6 @@ protected: + }; + + +-//! Specialization for Message +-template<> +-ArrayMessage::ArrayMessage( MessageType element_type, size_t length, bool fixed_length, +- const uint8_t *stream, bool ); +- +-template<> +-ArrayMessage::~ArrayMessage(); +- +-template<> +-Message &ArrayMessage::operator[]( size_t index ); +- +-template<> +-const Message &ArrayMessage::operator[]( size_t index ) const; +- +-template<> +-void ArrayMessage::assign( size_t index, Message *value ); +- +-template<> +-size_t ArrayMessage::_sizeInBytes() const; +- +-template<> +-size_t ArrayMessage::writeToStream( uint8_t *stream ) const; +- +-template<> +-inline void ArrayMessage::detachFromStream() +-{ +- /* So compiler won't complain. This specialization can not be from stream anyway. */ +-} +- +-template<> +-ArrayMessage &ArrayMessage::operator=( const ArrayMessage &other ); +- +-template<> +-Message *ArrayMessage::clone() const; +- + //! Specialization for CompoundMessage + class CompoundArrayMessage : public ArrayMessage + { +@@ -287,6 +252,108 @@ private: + MessageTemplate::ConstPtr msg_template_; + }; + ++ ++//! Specialization for Message ++template<> ++inline ArrayMessage::ArrayMessage( MessageType element_type, size_t length, bool fixed_length, const uint8_t *stream, ++ bool ) ++ : ArrayMessageBase( element_type, length, fixed_length, stream ), values_( 0 ), from_stream_( false ) { } ++ ++template<> ++inline ArrayMessage::~ArrayMessage() ++{ ++ for ( auto &entry : values_ ) ++ { ++ delete entry; ++ } ++ values_.clear(); ++} ++ ++template<> ++inline Message &ArrayMessage::operator[]( size_t index ) ++{ ++ return *values_[index]; ++} ++ ++template<> ++inline const Message &ArrayMessage::operator[]( size_t index ) const ++{ ++ return *values_[index]; ++} ++ ++template<> ++inline void ArrayMessage::assign( size_t index, Message *value ) ++{ ++ if ( index >= length_ ) ++ throw BabelFishException( "Index in setItem was out of bounds! Maybe you meant push_back?" ); ++ delete values_[index]; ++ values_[index] = value; ++} ++ ++template<> ++inline size_t ArrayMessage::_sizeInBytes() const ++{ ++ size_t result = (fixed_length_ ? 0 : 4); ++ for ( auto &value : values_ ) ++ { ++ result += value->_sizeInBytes(); ++ } ++ return result; ++} ++ ++template<> ++inline size_t ArrayMessage::writeToStream( uint8_t *stream ) const ++{ ++ size_t offset = 0; ++ if ( !fixed_length_ ) ++ { ++ *reinterpret_cast(stream) = length_; ++ offset = 4; ++ } ++ for ( auto &value : values_ ) ++ { ++ offset += value->writeToStream( stream + offset ); ++ } ++ return offset; ++} ++ ++template<> ++inline ArrayMessage &ArrayMessage::operator=( const ArrayMessage &other ) ++{ ++ if ( type() != other.type() || ++ (elementType() == MessageTypes::Compound && ++ as().elementDataType() != other.as().elementDataType())) ++ throw BabelFishException( "Can not assign incompatible ArrayMessage! They need to have exactly the same type!" ); ++ for ( auto &entry : values_ ) ++ { ++ delete entry; ++ } ++ values_.clear(); ++ values_.reserve( other._sizeInBytes()); ++ std::transform( other.values_.begin(), other.values_.end(), std::back_inserter( values_ ), ++ []( Message *m ) { return m->clone(); } ); ++ length_ = other.length_; ++ fixed_length_ = other.fixed_length_; ++ stream_ = other.stream_; ++ return *this; ++} ++ ++template<> ++inline Message *ArrayMessage::clone() const ++{ ++ auto result = new ArrayMessage( elementType(), length(), isFixedSize(), stream_ ); ++ result->values_.clear(); ++ std::transform( values_.begin(), values_.end(), std::back_inserter( result->values_ ), ++ []( Message *m ) { return m->clone(); } ); ++ return result; ++} ++ ++template<> ++inline void ArrayMessage::detachFromStream() ++{ ++ /* So compiler won't complain. This specialization can not be from stream anyway. */ ++} ++ + //! Specialization for Bool + template<> + bool ArrayMessage::operator[]( size_t index ); +diff --git a/ros_babel_fish/src/generation/description_provider.cpp b/ros_babel_fish/src/generation/description_provider.cpp +index 1f493bd..c3fd3c5 100644 +--- a/ros_babel_fish/src/generation/description_provider.cpp ++++ b/ros_babel_fish/src/generation/description_provider.cpp +@@ -160,8 +160,8 @@ MessageDescription::ConstPtr DescriptionProvider::getMessageDescriptionImpl( con + specs.push_back( buffer ); + + // Register all message dependencies +- bool registered[specs.size()]; +- std::fill_n( registered, specs.size(), false ); ++ std::vector registered(specs.size()); ++ std::fill_n(registered.begin(), specs.size(), false ); + bool new_registered = true; + while ( new_registered ) + { +@@ -451,8 +451,11 @@ DescriptionProvider::MessageSpec DescriptionProvider::createSpec( const std::str + std::regex_search( val.cbegin(), val.cend(), match, strip_comment_regex ); + val = match.str( 1 ); + } +- spec.constants.push_back( +- MessageSpec::Constant{ .type = constant_type, .name = name, .val = val } ); ++ MessageSpec::Constant constant; ++ constant.type = constant_type; ++ constant.name = name; ++ constant.val = val; ++ spec.constants.push_back(constant); + } + else if ( std::regex_search( first, last, match, field_regex ) && match.size() == 4 ) + { +diff --git a/ros_babel_fish/src/generation/providers/integrated_description_provider.cpp b/ros_babel_fish/src/generation/providers/integrated_description_provider.cpp +index d724b43..f338bf8 100644 +--- a/ros_babel_fish/src/generation/providers/integrated_description_provider.cpp ++++ b/ros_babel_fish/src/generation/providers/integrated_description_provider.cpp +@@ -5,11 +5,11 @@ + + #include + +-#include ++#include + #include + #include + +-namespace fs = std::experimental::filesystem; ++namespace fs = boost::filesystem; + + namespace ros_babel_fish + { +@@ -133,7 +133,7 @@ MessageDescription::ConstPtr IntegratedDescriptionProvider::getMessageDescriptio + } + + // Load message specification from file +- std::ifstream file_input( message_path ); ++ std::ifstream file_input( message_path.string() ); + file_input.seekg( 0, std::ios::end ); + std::string specification; + specification.resize( file_input.tellg()); +@@ -177,7 +177,7 @@ ServiceDescription::ConstPtr IntegratedDescriptionProvider::getServiceDescriptio + } + + // Load service specification from file +- std::ifstream file_input( service_path ); ++ std::ifstream file_input( service_path.string() ); + file_input.seekg( 0, std::ios::end ); + std::string spec; + spec.resize( file_input.tellg()); +diff --git a/ros_babel_fish/src/messages/array_message.cpp b/ros_babel_fish/src/messages/array_message.cpp +index c1c302b..f79e902 100644 +--- a/ros_babel_fish/src/messages/array_message.cpp ++++ b/ros_babel_fish/src/messages/array_message.cpp +@@ -11,100 +11,6 @@ namespace ros_babel_fish + //! ============== Message Specialization ============= + //! =================================================== + +-template<> +-ArrayMessage::ArrayMessage( MessageType element_type, size_t length, bool fixed_length, const uint8_t *stream, +- bool ) +- : ArrayMessageBase( element_type, length, fixed_length, stream ), values_( 0 ), from_stream_( false ) { } +- +-template<> +-ArrayMessage::~ArrayMessage() +-{ +- for ( auto &entry : values_ ) +- { +- delete entry; +- } +- values_.clear(); +-} +- +-template<> +-Message &ArrayMessage::operator[]( size_t index ) +-{ +- return *values_[index]; +-} +- +-template<> +-const Message &ArrayMessage::operator[]( size_t index ) const +-{ +- return *values_[index]; +-} +- +-template<> +-void ArrayMessage::assign( size_t index, Message *value ) +-{ +- if ( index >= length_ ) +- throw BabelFishException( "Index in setItem was out of bounds! Maybe you meant push_back?" ); +- delete values_[index]; +- values_[index] = value; +-} +- +-template<> +-size_t ArrayMessage::_sizeInBytes() const +-{ +- size_t result = (fixed_length_ ? 0 : 4); +- for ( auto &value : values_ ) +- { +- result += value->_sizeInBytes(); +- } +- return result; +-} +- +-template<> +-size_t ArrayMessage::writeToStream( uint8_t *stream ) const +-{ +- size_t offset = 0; +- if ( !fixed_length_ ) +- { +- *reinterpret_cast(stream) = length_; +- offset = 4; +- } +- for ( auto &value : values_ ) +- { +- offset += value->writeToStream( stream + offset ); +- } +- return offset; +-} +- +-template<> +-ArrayMessage &ArrayMessage::operator=( const ArrayMessage &other ) +-{ +- if ( type() != other.type() || +- (elementType() == MessageTypes::Compound && +- as().elementDataType() != other.as().elementDataType())) +- throw BabelFishException( "Can not assign incompatible ArrayMessage! They need to have exactly the same type!" ); +- for ( auto &entry : values_ ) +- { +- delete entry; +- } +- values_.clear(); +- values_.reserve( other._sizeInBytes()); +- std::transform( other.values_.begin(), other.values_.end(), std::back_inserter( values_ ), +- []( Message *m ) { return m->clone(); } ); +- length_ = other.length_; +- fixed_length_ = other.fixed_length_; +- stream_ = other.stream_; +- return *this; +-} +- +-template<> +-Message *ArrayMessage::clone() const +-{ +- auto result = new ArrayMessage( elementType(), length(), isFixedSize(), stream_ ); +- result->values_.clear(); +- std::transform( values_.begin(), values_.end(), std::back_inserter( result->values_ ), +- []( Message *m ) { return m->clone(); } ); +- return result; +-} +- + //! =================================================== + //! =============== Bool Specialization =============== + //! =================================================== +@@ -521,6 +427,12 @@ size_t ArrayMessage::writeToStream( uint8_t *stream ) const + return length; + } + ++// Explicit template instantiation; ++template class ArrayMessage; ++template class ArrayMessage; ++template class ArrayMessage; ++template class ArrayMessage; ++ + //! =================================================== + //! ================== CompoundArray ================== + //! =================================================== +diff --git a/ros_babel_fish/src/messages/value_message.cpp b/ros_babel_fish/src/messages/value_message.cpp +index 2f640e3..512fe34 100644 +--- a/ros_babel_fish/src/messages/value_message.cpp ++++ b/ros_babel_fish/src/messages/value_message.cpp +@@ -180,4 +180,11 @@ size_t ValueMessage::writeToStream( uint8_t *stream ) const + memcpy( stream, value_.data(), value_.length()); + return value_.length() + sizeof( uint32_t ); + } ++ ++// Explicit template instantiation; ++template class ValueMessage; ++template class ValueMessage; ++template class ValueMessage; ++template class ValueMessage; ++ + } diff --git a/recipes/ros-noetic-ros-babel-fish/recipe.yaml b/recipes/ros-noetic-ros-babel-fish/recipe.yaml new file mode 100644 index 000000000..4f2040d89 --- /dev/null +++ b/recipes/ros-noetic-ros-babel-fish/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-ros-babel-fish + version: 0.9.3 +source: + git_url: https://github.com/StefanFabian/ros_babel_fish-release.git + git_rev: release/noetic/ros_babel_fish/0.9.3-1 + folder: ros-noetic-ros-babel-fish/src/work + patches: + - patch/ros-noetic-ros-babel-fish.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - openssl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-ros-babel-fish-test-msgs + - ros-noetic-rosapi + - ros-noetic-roscpp + - ros-noetic-roscpp-tutorials + - ros-noetic-rosgraph-msgs + - ros-noetic-roslib + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-visualization-msgs + run: + - openssl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-roscpp + - ros-noetic-roslib + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-ros-base/bld_catkin.bat b/recipes/ros-noetic-ros-base/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ros-base/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ros-base/build_catkin.sh b/recipes/ros-noetic-ros-base/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ros-base/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ros-base/recipe.yaml b/recipes/ros-noetic-ros-base/recipe.yaml new file mode 100644 index 000000000..99546b62e --- /dev/null +++ b/recipes/ros-noetic-ros-base/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-ros-base + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/ros_base/1.5.0-1 + folder: ros-noetic-ros-base/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-bond-core + - ros-noetic-dynamic-reconfigure + - ros-noetic-nodelet-core + - ros-noetic-ros-core + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-ros-comm/bld_catkin.bat b/recipes/ros-noetic-ros-comm/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ros-comm/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ros-comm/build_catkin.sh b/recipes/ros-noetic-ros-comm/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ros-comm/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ros-comm/recipe.yaml b/recipes/ros-noetic-ros-comm/recipe.yaml new file mode 100644 index 000000000..ffa76101a --- /dev/null +++ b/recipes/ros-noetic-ros-comm/recipe.yaml @@ -0,0 +1,94 @@ +package: + name: ros-noetic-ros-comm + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/ros_comm/1.16.0-1 + folder: ros-noetic-ros-comm/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-filters + - ros-noetic-ros + - ros-noetic-rosbag + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosgraph + - ros-noetic-rosgraph-msgs + - ros-noetic-roslaunch + - ros-noetic-roslisp + - ros-noetic-rosmaster + - ros-noetic-rosmsg + - ros-noetic-rosnode + - ros-noetic-rosout + - ros-noetic-rosparam + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-rostest + - ros-noetic-rostopic + - ros-noetic-roswtf + - ros-noetic-std-srvs + - ros-noetic-topic-tools + - ros-noetic-xmlrpcpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-filters + - ros-noetic-ros + - ros-noetic-rosbag + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rosgraph + - ros-noetic-rosgraph-msgs + - ros-noetic-roslaunch + - ros-noetic-roslisp + - ros-noetic-rosmaster + - ros-noetic-rosmsg + - ros-noetic-rosnode + - ros-noetic-rosout + - ros-noetic-rosparam + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-rostest + - ros-noetic-rostopic + - ros-noetic-roswtf + - ros-noetic-std-srvs + - ros-noetic-topic-tools + - ros-noetic-xmlrpcpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-ros-controllers/bld_catkin.bat b/recipes/ros-noetic-ros-controllers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ros-controllers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ros-controllers/build_catkin.sh b/recipes/ros-noetic-ros-controllers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ros-controllers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ros-controllers/recipe.yaml b/recipes/ros-noetic-ros-controllers/recipe.yaml new file mode 100644 index 000000000..64d222340 --- /dev/null +++ b/recipes/ros-noetic-ros-controllers/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-ros-controllers + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/ros_controllers/0.21.2-1 + folder: ros-noetic-ros-controllers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-ackermann-steering-controller + - ros-noetic-diff-drive-controller + - ros-noetic-effort-controllers + - ros-noetic-force-torque-sensor-controller + - ros-noetic-forward-command-controller + - ros-noetic-gripper-action-controller + - ros-noetic-imu-sensor-controller + - ros-noetic-joint-state-controller + - ros-noetic-joint-trajectory-controller + - ros-noetic-position-controllers + - ros-noetic-velocity-controllers + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-ros-core/bld_catkin.bat b/recipes/ros-noetic-ros-core/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-ros-core/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-ros-core/build_catkin.sh b/recipes/ros-noetic-ros-core/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-ros-core/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-ros-core/recipe.yaml b/recipes/ros-noetic-ros-core/recipe.yaml new file mode 100644 index 000000000..538f15f34 --- /dev/null +++ b/recipes/ros-noetic-ros-core/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-ros-core + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/ros_core/1.5.0-1 + folder: ros-noetic-ros-core/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-class-loader + - ros-noetic-cmake-modules + - ros-noetic-common-msgs + - ros-noetic-gencpp + - ros-noetic-geneus + - ros-noetic-genlisp + - ros-noetic-genmsg + - ros-noetic-gennodejs + - ros-noetic-genpy + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-pluginlib + - ros-noetic-ros + - ros-noetic-ros-comm + - ros-noetic-rosbag-migration-rule + - ros-noetic-rosconsole + - ros-noetic-rosconsole-bridge + - ros-noetic-roscpp-core + - ros-noetic-rosgraph-msgs + - ros-noetic-roslisp + - ros-noetic-rospack + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosapi/bld_catkin.bat b/recipes/ros-noetic-rosapi/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosapi/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosapi/build_catkin.sh b/recipes/ros-noetic-rosapi/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosapi/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosapi/recipe.yaml b/recipes/ros-noetic-rosapi/recipe.yaml new file mode 100644 index 000000000..ac32d86c2 --- /dev/null +++ b/recipes/ros-noetic-rosapi/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-rosapi + version: 0.11.17 +source: + git_url: https://github.com/RobotWebTools-release/rosbridge_suite-release.git + git_rev: release/noetic/rosapi/0.11.17-1 + folder: ros-noetic-rosapi/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-rosbridge-library + - ros-noetic-rosgraph + - ros-noetic-rosnode + - ros-noetic-rospy + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosbridge-library/bld_catkin.bat b/recipes/ros-noetic-rosbridge-library/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-library/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-library/build_catkin.sh b/recipes/ros-noetic-rosbridge-library/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosbridge-library/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-library/recipe.yaml b/recipes/ros-noetic-rosbridge-library/recipe.yaml new file mode 100644 index 000000000..2055a14a0 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-library/recipe.yaml @@ -0,0 +1,78 @@ +package: + name: ros-noetic-rosbridge-library + version: 0.11.17 +source: + git_url: https://github.com/RobotWebTools-release/rosbridge_suite-release.git + git_rev: release/noetic/rosbridge_library/0.11.17-1 + folder: ros-noetic-rosbridge-library/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pillow + - pip + - sel(build_platform == target_platform): pkg-config + - pymongo + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-nav-msgs + - ros-noetic-rospy-tutorials + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-stereo-msgs + - ros-noetic-tf2-msgs + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - setuptools + run: + - pillow + - pymongo + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-roscpp + - ros-noetic-rosgraph + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-rostopic + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosbridge-server/bld_catkin.bat b/recipes/ros-noetic-rosbridge-server/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-server/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-server/build_catkin.sh b/recipes/ros-noetic-rosbridge-server/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosbridge-server/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-server/recipe.yaml b/recipes/ros-noetic-rosbridge-server/recipe.yaml new file mode 100644 index 000000000..99a00b927 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-server/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rosbridge-server + version: 0.11.17 +source: + git_url: https://github.com/RobotWebTools-release/rosbridge_suite-release.git + git_rev: release/noetic/rosbridge_server/0.11.17-1 + folder: ros-noetic-rosbridge-server/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rostest + - setuptools + run: + - autobahn + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosapi + - ros-noetic-rosauth + - ros-noetic-rosbridge-library + - ros-noetic-rosbridge-msgs + - ros-noetic-rospy + - tornado + - twisted + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosbridge-suite/bld_catkin.bat b/recipes/ros-noetic-rosbridge-suite/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-suite/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-suite/build_catkin.sh b/recipes/ros-noetic-rosbridge-suite/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosbridge-suite/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosbridge-suite/recipe.yaml b/recipes/ros-noetic-rosbridge-suite/recipe.yaml new file mode 100644 index 000000000..201b684d1 --- /dev/null +++ b/recipes/ros-noetic-rosbridge-suite/recipe.yaml @@ -0,0 +1,53 @@ +package: + name: ros-noetic-rosbridge-suite + version: 0.11.17 +source: + git_url: https://github.com/RobotWebTools-release/rosbridge_suite-release.git + git_rev: release/noetic/rosbridge_suite/0.11.17-1 + folder: ros-noetic-rosbridge-suite/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosapi + - ros-noetic-rosbridge-library + - ros-noetic-rosbridge-server + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosmsg/bld_catkin.bat b/recipes/ros-noetic-rosmsg/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosmsg/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosmsg/build_catkin.sh b/recipes/ros-noetic-rosmsg/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosmsg/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosmsg/recipe.yaml b/recipes/ros-noetic-rosmsg/recipe.yaml new file mode 100644 index 000000000..84f2ca7da --- /dev/null +++ b/recipes/ros-noetic-rosmsg/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rosmsg + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/rosmsg/1.16.0-1 + folder: ros-noetic-rosmsg/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-std-srvs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-genmsg + - ros-noetic-genpy + - ros-noetic-rosbag + - ros-noetic-roslib + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosnode/bld_catkin.bat b/recipes/ros-noetic-rosnode/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosnode/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosnode/build_catkin.sh b/recipes/ros-noetic-rosnode/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosnode/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosnode/recipe.yaml b/recipes/ros-noetic-rosnode/recipe.yaml new file mode 100644 index 000000000..1c189d427 --- /dev/null +++ b/recipes/ros-noetic-rosnode/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-rosnode + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/rosnode/1.16.0-1 + folder: ros-noetic-rosnode/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosgraph + - ros-noetic-rostest + - ros-noetic-rostopic + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosgraph + - ros-noetic-rostopic + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosserial-arduino/bld_catkin.bat b/recipes/ros-noetic-rosserial-arduino/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosserial-arduino/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosserial-arduino/build_catkin.sh b/recipes/ros-noetic-rosserial-arduino/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosserial-arduino/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosserial-arduino/recipe.yaml b/recipes/ros-noetic-rosserial-arduino/recipe.yaml new file mode 100644 index 000000000..10ef6565c --- /dev/null +++ b/recipes/ros-noetic-rosserial-arduino/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-rosserial-arduino + version: 0.9.2 +source: + git_url: https://github.com/ros-gbp/rosserial-release.git + git_rev: release/noetic/rosserial_arduino/0.9.2-1 + folder: ros-noetic-rosserial-arduino/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-rospy + - ros-noetic-rosserial-client + - ros-noetic-rosserial-msgs + - ros-noetic-rosserial-python + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-rospy + - ros-noetic-rosserial-client + - ros-noetic-rosserial-msgs + - ros-noetic-rosserial-python + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosserial-client/bld_catkin.bat b/recipes/ros-noetic-rosserial-client/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosserial-client/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosserial-client/build_catkin.sh b/recipes/ros-noetic-rosserial-client/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosserial-client/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosserial-client/recipe.yaml b/recipes/ros-noetic-rosserial-client/recipe.yaml new file mode 100644 index 000000000..29cdc3d04 --- /dev/null +++ b/recipes/ros-noetic-rosserial-client/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-rosserial-client + version: 0.9.2 +source: + git_url: https://github.com/ros-gbp/rosserial-release.git + git_rev: release/noetic/rosserial_client/0.9.2-1 + folder: ros-noetic-rosserial-client/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosbash + - ros-noetic-rosserial-msgs + - ros-noetic-rosunit + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosbash + - ros-noetic-rospy + - ros-noetic-rosserial-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rosservice/bld_catkin.bat b/recipes/ros-noetic-rosservice/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rosservice/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rosservice/build_catkin.sh b/recipes/ros-noetic-rosservice/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rosservice/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rosservice/recipe.yaml b/recipes/ros-noetic-rosservice/recipe.yaml new file mode 100644 index 000000000..d32091941 --- /dev/null +++ b/recipes/ros-noetic-rosservice/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rosservice + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/rosservice/1.16.0-1 + folder: ros-noetic-rosservice/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-genpy + - ros-noetic-rosgraph + - ros-noetic-roslib + - ros-noetic-rosmsg + - ros-noetic-rospy + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-genpy + - ros-noetic-rosgraph + - ros-noetic-roslib + - ros-noetic-rosmsg + - ros-noetic-rospy + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rostopic/bld_catkin.bat b/recipes/ros-noetic-rostopic/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rostopic/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rostopic/build_catkin.sh b/recipes/ros-noetic-rostopic/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rostopic/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rostopic/recipe.yaml b/recipes/ros-noetic-rostopic/recipe.yaml new file mode 100644 index 000000000..dd533bb7a --- /dev/null +++ b/recipes/ros-noetic-rostopic/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-rostopic + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/rostopic/1.16.0-1 + folder: ros-noetic-rostopic/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-genpy + - ros-noetic-rosbag + - ros-noetic-rospy + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-genpy + - ros-noetic-rosbag + - ros-noetic-rospy + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-roswtf/bld_catkin.bat b/recipes/ros-noetic-roswtf/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-roswtf/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-roswtf/build_catkin.sh b/recipes/ros-noetic-roswtf/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-roswtf/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-roswtf/recipe.yaml b/recipes/ros-noetic-roswtf/recipe.yaml new file mode 100644 index 000000000..b8fa9c5ca --- /dev/null +++ b/recipes/ros-noetic-roswtf/recipe.yaml @@ -0,0 +1,63 @@ +package: + name: ros-noetic-roswtf + version: 1.16.0 +source: + git_url: https://github.com/ros-gbp/ros_comm-release.git + git_rev: release/noetic/roswtf/1.16.0-1 + folder: ros-noetic-roswtf/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-rosbag + - ros-noetic-roslang + - ros-noetic-rostest + - ros-noetic-std-srvs + run: + - paramiko + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosbuild + - ros-noetic-rosgraph + - ros-noetic-roslaunch + - ros-noetic-roslib + - ros-noetic-rosnode + - ros-noetic-rosservice + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rotate-recovery/bld_catkin.bat b/recipes/ros-noetic-rotate-recovery/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rotate-recovery/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rotate-recovery/build_catkin.sh b/recipes/ros-noetic-rotate-recovery/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rotate-recovery/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rotate-recovery/recipe.yaml b/recipes/ros-noetic-rotate-recovery/recipe.yaml new file mode 100644 index 000000000..217479049 --- /dev/null +++ b/recipes/ros-noetic-rotate-recovery/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-rotate-recovery + version: 1.17.3 +source: + git_url: https://github.com/ros-gbp/navigation-release.git + git_rev: release/noetic/rotate_recovery/1.17.3-1 + folder: ros-noetic-rotate-recovery/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-base-local-planner + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + run: + - eigen + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-costmap-2d + - ros-noetic-geometry-msgs + - ros-noetic-nav-core + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-action/bld_catkin.bat b/recipes/ros-noetic-rqt-action/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-action/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-action/build_catkin.sh b/recipes/ros-noetic-rqt-action/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-action/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-action/recipe.yaml b/recipes/ros-noetic-rqt-action/recipe.yaml new file mode 100644 index 000000000..db5317554 --- /dev/null +++ b/recipes/ros-noetic-rqt-action/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-rqt-action + version: 0.4.9 +source: + git_url: https://github.com/ros-gbp/rqt_action-release.git + git_rev: release/noetic/rqt_action/0.4.9-1 + folder: ros-noetic-rqt-action/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rospy + - ros-noetic-rqt-msg + - ros-noetic-rqt-py-common + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rospy + - ros-noetic-rqt-msg + - ros-noetic-rqt-py-common + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-bag-plugins/bld_catkin.bat b/recipes/ros-noetic-rqt-bag-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-bag-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-bag-plugins/build_catkin.sh b/recipes/ros-noetic-rqt-bag-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-bag-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-bag-plugins/recipe.yaml b/recipes/ros-noetic-rqt-bag-plugins/recipe.yaml new file mode 100644 index 000000000..e5af30521 --- /dev/null +++ b/recipes/ros-noetic-rqt-bag-plugins/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-rqt-bag-plugins + version: 0.5.1 +source: + git_url: https://github.com/ros-gbp/rqt_bag-release.git + git_rev: release/noetic/rqt_bag_plugins/0.5.1-1 + folder: ros-noetic-rqt-bag-plugins/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - pillow + - pycairo + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-rosbag + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rqt-bag + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-plot + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-bag/bld_catkin.bat b/recipes/ros-noetic-rqt-bag/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-bag/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-bag/build_catkin.sh b/recipes/ros-noetic-rqt-bag/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-bag/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-bag/recipe.yaml b/recipes/ros-noetic-rqt-bag/recipe.yaml new file mode 100644 index 000000000..b4389b888 --- /dev/null +++ b/recipes/ros-noetic-rqt-bag/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-rqt-bag + version: 0.5.1 +source: + git_url: https://github.com/ros-gbp/rqt_bag-release.git + git_rev: release/noetic/rqt_bag/0.5.1-1 + folder: ros-noetic-rqt-bag/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-rosbag + - ros-noetic-rosgraph-msgs + - ros-noetic-roslib + - ros-noetic-rosnode + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-common-plugins/bld_catkin.bat b/recipes/ros-noetic-rqt-common-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-common-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-common-plugins/build_catkin.sh b/recipes/ros-noetic-rqt-common-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-common-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-common-plugins/recipe.yaml b/recipes/ros-noetic-rqt-common-plugins/recipe.yaml new file mode 100644 index 000000000..ca6584338 --- /dev/null +++ b/recipes/ros-noetic-rqt-common-plugins/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-rqt-common-plugins + version: 0.4.9 +source: + git_url: https://github.com/ros-gbp/rqt_common_plugins-release.git + git_rev: release/noetic/rqt_common_plugins/0.4.9-1 + folder: ros-noetic-rqt-common-plugins/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rqt-action + - ros-noetic-rqt-bag + - ros-noetic-rqt-bag-plugins + - ros-noetic-rqt-console + - ros-noetic-rqt-dep + - ros-noetic-rqt-graph + - ros-noetic-rqt-image-view + - ros-noetic-rqt-launch + - ros-noetic-rqt-logger-level + - ros-noetic-rqt-msg + - ros-noetic-rqt-plot + - ros-noetic-rqt-publisher + - ros-noetic-rqt-py-common + - ros-noetic-rqt-py-console + - ros-noetic-rqt-reconfigure + - ros-noetic-rqt-service-caller + - ros-noetic-rqt-shell + - ros-noetic-rqt-srv + - ros-noetic-rqt-top + - ros-noetic-rqt-topic + - ros-noetic-rqt-web + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-console/bld_catkin.bat b/recipes/ros-noetic-rqt-console/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-console/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-console/build_catkin.sh b/recipes/ros-noetic-rqt-console/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-console/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-console/recipe.yaml b/recipes/ros-noetic-rqt-console/recipe.yaml new file mode 100644 index 000000000..a216ea672 --- /dev/null +++ b/recipes/ros-noetic-rqt-console/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-rqt-console + version: 0.4.12 +source: + git_url: https://github.com/ros-gbp/rqt_console-release.git + git_rev: release/noetic/rqt_console/0.4.12-1 + folder: ros-noetic-rqt-console/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-logger-level + - ros-noetic-rqt-py-common + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-controller-manager/bld_catkin.bat b/recipes/ros-noetic-rqt-controller-manager/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-controller-manager/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-controller-manager/build_catkin.sh b/recipes/ros-noetic-rqt-controller-manager/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-controller-manager/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-controller-manager/recipe.yaml b/recipes/ros-noetic-rqt-controller-manager/recipe.yaml new file mode 100644 index 000000000..5cd7a5652 --- /dev/null +++ b/recipes/ros-noetic-rqt-controller-manager/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-rqt-controller-manager + version: 0.20.0 +source: + git_url: https://github.com/ros-gbp/ros_control-release.git + git_rev: release/noetic/rqt_controller_manager/0.20.0-1 + folder: ros-noetic-rqt-controller-manager/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-manager-msgs + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-dep/bld_catkin.bat b/recipes/ros-noetic-rqt-dep/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-dep/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-dep/build_catkin.sh b/recipes/ros-noetic-rqt-dep/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-dep/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-dep/recipe.yaml b/recipes/ros-noetic-rqt-dep/recipe.yaml new file mode 100644 index 000000000..024aa0d2d --- /dev/null +++ b/recipes/ros-noetic-rqt-dep/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-rqt-dep + version: 0.4.12 +source: + git_url: https://github.com/ros-gbp/rqt_dep-release.git + git_rev: release/noetic/rqt_dep/0.4.12-1 + folder: ros-noetic-rqt-dep/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - mock + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-qt-dotgraph + - ros-noetic-qt-gui + - ros-noetic-qt-gui-py-common + - ros-noetic-rqt-graph + - ros-noetic-rqt-gui-py + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-ez-publisher/bld_catkin.bat b/recipes/ros-noetic-rqt-ez-publisher/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-ez-publisher/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-ez-publisher/build_catkin.sh b/recipes/ros-noetic-rqt-ez-publisher/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-ez-publisher/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-ez-publisher/recipe.yaml b/recipes/ros-noetic-rqt-ez-publisher/recipe.yaml new file mode 100644 index 000000000..9835dcc0f --- /dev/null +++ b/recipes/ros-noetic-rqt-ez-publisher/recipe.yaml @@ -0,0 +1,67 @@ +package: + name: ros-noetic-rqt-ez-publisher + version: 0.6.1 +source: + git_url: https://github.com/OTL/rqt_ez_publisher-release.git + git_rev: release/noetic/rqt_ez_publisher/0.6.1-1 + folder: ros-noetic-rqt-ez-publisher/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - catkin_pkg + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-sensor-msgs + - ros-noetic-tf + - ros-noetic-tf2-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-tf + - ros-noetic-tf2-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-graph/bld_catkin.bat b/recipes/ros-noetic-rqt-graph/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-graph/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-graph/build_catkin.sh b/recipes/ros-noetic-rqt-graph/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-graph/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-graph/recipe.yaml b/recipes/ros-noetic-rqt-graph/recipe.yaml new file mode 100644 index 000000000..3246c7ba2 --- /dev/null +++ b/recipes/ros-noetic-rqt-graph/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-rqt-graph + version: 0.4.14 +source: + git_url: https://github.com/ros-gbp/rqt_graph-release.git + git_rev: release/noetic/rqt_graph/0.4.14-1 + folder: ros-noetic-rqt-graph/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-qt-dotgraph + - ros-noetic-rosgraph + - ros-noetic-rosgraph-msgs + - ros-noetic-roslib + - ros-noetic-rosnode + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-image-view/bld_catkin.bat b/recipes/ros-noetic-rqt-image-view/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-image-view/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-image-view/build_catkin.sh b/recipes/ros-noetic-rqt-image-view/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-image-view/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-image-view/patch/ros-noetic-rqt-image-view.patch b/recipes/ros-noetic-rqt-image-view/patch/ros-noetic-rqt-image-view.patch new file mode 100644 index 000000000..0b8e23b62 --- /dev/null +++ b/recipes/ros-noetic-rqt-image-view/patch/ros-noetic-rqt-image-view.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba4ec83..ea96ab1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,10 +2,9 @@ cmake_minimum_required(VERSION 3.0.2) + + project(rqt_image_view) + +-add_compile_options(-std=c++11) +- + # Load catkin and all dependencies required for this package + find_package(catkin REQUIRED COMPONENTS rqt_gui rqt_gui_cpp image_transport sensor_msgs geometry_msgs cv_bridge) ++find_package(OpenCV) + + if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ") + find_package(Qt5Widgets REQUIRED) +@@ -60,7 +59,7 @@ set(CMAKE_CURRENT_BINARY_DIR "${_cmake_current_binary_dir}") + + include_directories(${rqt_image_view_INCLUDE_DIRECTORIES} ${catkin_INCLUDE_DIRS}) + add_library(${PROJECT_NAME} ${rqt_image_view_SRCS} ${rqt_image_view_MOCS} ${rqt_image_view_UIS_H}) +-target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) ++target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) + if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ") + target_link_libraries(${PROJECT_NAME} Qt5::Widgets) + else() diff --git a/recipes/ros-noetic-rqt-image-view/recipe.yaml b/recipes/ros-noetic-rqt-image-view/recipe.yaml new file mode 100644 index 000000000..8c5fbc247 --- /dev/null +++ b/recipes/ros-noetic-rqt-image-view/recipe.yaml @@ -0,0 +1,79 @@ +package: + name: ros-noetic-rqt-image-view + version: 0.4.17 +source: + git_url: https://github.com/ros-gbp/rqt_image_view-release.git + git_rev: release/noetic/rqt_image_view/0.4.17-1 + folder: ros-noetic-rqt-image-view/src/work + patches: + - patch/ros-noetic-rqt-image-view.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-cpp + - ros-noetic-sensor-msgs + - setuptools + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-cpp + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rqt-launch/bld_catkin.bat b/recipes/ros-noetic-rqt-launch/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-launch/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-launch/build_catkin.sh b/recipes/ros-noetic-rqt-launch/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-launch/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-launch/recipe.yaml b/recipes/ros-noetic-rqt-launch/recipe.yaml new file mode 100644 index 000000000..eb06806be --- /dev/null +++ b/recipes/ros-noetic-rqt-launch/recipe.yaml @@ -0,0 +1,64 @@ +package: + name: ros-noetic-rqt-launch + version: 0.4.9 +source: + git_url: https://github.com/ros-gbp/rqt_launch-release.git + git_rev: release/noetic/rqt_launch/0.4.9-1 + folder: ros-noetic-rqt-launch/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-python-qt-binding + - ros-noetic-roslaunch + - ros-noetic-rospy + - ros-noetic-rqt-console + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-roslaunch + - ros-noetic-rospy + - ros-noetic-rqt-console + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-logger-level/bld_catkin.bat b/recipes/ros-noetic-rqt-logger-level/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-logger-level/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-logger-level/build_catkin.sh b/recipes/ros-noetic-rqt-logger-level/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-logger-level/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-logger-level/recipe.yaml b/recipes/ros-noetic-rqt-logger-level/recipe.yaml new file mode 100644 index 000000000..0edd4b1fb --- /dev/null +++ b/recipes/ros-noetic-rqt-logger-level/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-rqt-logger-level + version: 0.4.12 +source: + git_url: https://github.com/ros-gbp/rqt_logger_level-release.git + git_rev: release/noetic/rqt_logger_level/0.4.12-1 + folder: ros-noetic-rqt-logger-level/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-rosnode + - ros-noetic-rospy + - ros-noetic-rosservice + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-moveit/bld_catkin.bat b/recipes/ros-noetic-rqt-moveit/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-moveit/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-moveit/build_catkin.sh b/recipes/ros-noetic-rqt-moveit/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-moveit/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-moveit/recipe.yaml b/recipes/ros-noetic-rqt-moveit/recipe.yaml new file mode 100644 index 000000000..bf5ef22b5 --- /dev/null +++ b/recipes/ros-noetic-rqt-moveit/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rqt-moveit + version: 0.5.11 +source: + git_url: https://github.com/ros-gbp/rqt_moveit-release.git + git_rev: release/noetic/rqt_moveit/0.5.11-1 + folder: ros-noetic-rqt-moveit/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-rosnode + - ros-noetic-rospy + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-rqt-topic + - ros-noetic-sensor-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-msg/bld_catkin.bat b/recipes/ros-noetic-rqt-msg/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-msg/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-msg/build_catkin.sh b/recipes/ros-noetic-rqt-msg/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-msg/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-msg/recipe.yaml b/recipes/ros-noetic-rqt-msg/recipe.yaml new file mode 100644 index 000000000..c6771b45e --- /dev/null +++ b/recipes/ros-noetic-rqt-msg/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-rqt-msg + version: 0.4.10 +source: + git_url: https://github.com/ros-gbp/rqt_msg-release.git + git_rev: release/noetic/rqt_msg/0.4.10-1 + folder: ros-noetic-rqt-msg/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-roslib + - ros-noetic-rosmsg + - ros-noetic-rospy + - ros-noetic-rqt-console + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-nav-view/bld_catkin.bat b/recipes/ros-noetic-rqt-nav-view/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-nav-view/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-nav-view/build_catkin.sh b/recipes/ros-noetic-rqt-nav-view/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-nav-view/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-nav-view/recipe.yaml b/recipes/ros-noetic-rqt-nav-view/recipe.yaml new file mode 100644 index 000000000..a187ee47c --- /dev/null +++ b/recipes/ros-noetic-rqt-nav-view/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-rqt-nav-view + version: 0.5.7 +source: + git_url: https://github.com/ros-gbp/rqt_nav_view-release.git + git_rev: release/noetic/rqt_nav_view/0.5.7-1 + folder: ros-noetic-rqt-nav-view/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-tf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-plot/bld_catkin.bat b/recipes/ros-noetic-rqt-plot/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-plot/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-plot/build_catkin.sh b/recipes/ros-noetic-rqt-plot/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-plot/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-plot/recipe.yaml b/recipes/ros-noetic-rqt-plot/recipe.yaml new file mode 100644 index 000000000..69faef3df --- /dev/null +++ b/recipes/ros-noetic-rqt-plot/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-rqt-plot + version: 0.4.13 +source: + git_url: https://github.com/ros-gbp/rqt_plot-release.git + git_rev: release/noetic/rqt_plot/0.4.13-2 + folder: ros-noetic-rqt-plot/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - matplotlib-base + - numpy + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui-py-common + - ros-noetic-qwt-dependency + - ros-noetic-rosgraph + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-std-msgs + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-pose-view/bld_catkin.bat b/recipes/ros-noetic-rqt-pose-view/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-pose-view/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-pose-view/build_catkin.sh b/recipes/ros-noetic-rqt-pose-view/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-pose-view/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-pose-view/recipe.yaml b/recipes/ros-noetic-rqt-pose-view/recipe.yaml new file mode 100644 index 000000000..8d9badd12 --- /dev/null +++ b/recipes/ros-noetic-rqt-pose-view/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-rqt-pose-view + version: 0.5.11 +source: + git_url: https://github.com/ros-gbp/rqt_pose_view-release.git + git_rev: release/noetic/rqt_pose_view/0.5.11-1 + folder: ros-noetic-rqt-pose-view/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - pyopengl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-gl-dependency + - ros-noetic-python-qt-binding + - ros-noetic-rospy + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - ros-noetic-tf + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rqt-publisher/bld_catkin.bat b/recipes/ros-noetic-rqt-publisher/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-publisher/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-publisher/build_catkin.sh b/recipes/ros-noetic-rqt-publisher/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-publisher/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-publisher/recipe.yaml b/recipes/ros-noetic-rqt-publisher/recipe.yaml new file mode 100644 index 000000000..fb9403c4f --- /dev/null +++ b/recipes/ros-noetic-rqt-publisher/recipe.yaml @@ -0,0 +1,58 @@ +package: + name: ros-noetic-rqt-publisher + version: 0.4.10 +source: + git_url: https://github.com/ros-gbp/rqt_publisher-release.git + git_rev: release/noetic/rqt_publisher/0.4.10-1 + folder: ros-noetic-rqt-publisher/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui-py-common + - ros-noetic-roslib + - ros-noetic-rosmsg + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-py-common/bld_catkin.bat b/recipes/ros-noetic-rqt-py-common/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-py-common/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-py-common/build_catkin.sh b/recipes/ros-noetic-rqt-py-common/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-py-common/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-py-common/recipe.yaml b/recipes/ros-noetic-rqt-py-common/recipe.yaml new file mode 100644 index 000000000..3dbd4ee15 --- /dev/null +++ b/recipes/ros-noetic-rqt-py-common/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-rqt-py-common + version: 0.5.3 +source: + git_url: https://github.com/ros-gbp/rqt-release.git + git_rev: release/noetic/rqt_py_common/0.5.3-1 + folder: ros-noetic-rqt-py-common/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-catkin + - ros-noetic-genmsg + - ros-noetic-genpy + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-rosbag + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rostopic + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-genpy + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-rosbag + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rostopic + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-reconfigure/bld_catkin.bat b/recipes/ros-noetic-rqt-reconfigure/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-reconfigure/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-reconfigure/build_catkin.sh b/recipes/ros-noetic-rqt-reconfigure/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-reconfigure/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-reconfigure/recipe.yaml b/recipes/ros-noetic-rqt-reconfigure/recipe.yaml new file mode 100644 index 000000000..7cc00ba31 --- /dev/null +++ b/recipes/ros-noetic-rqt-reconfigure/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-rqt-reconfigure + version: 0.5.5 +source: + git_url: https://github.com/ros-gbp/rqt_reconfigure-release.git + git_rev: release/noetic/rqt_reconfigure/0.5.5-1 + folder: ros-noetic-rqt-reconfigure/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-roslint + - ros-noetic-rostest + - setuptools + run: + - python + - pyyaml + - ros-distro-mutex 0.5 noetic + - ros-noetic-dynamic-reconfigure + - ros-noetic-python-qt-binding + - ros-noetic-rospy + - ros-noetic-rqt-console + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-robot-dashboard/bld_catkin.bat b/recipes/ros-noetic-rqt-robot-dashboard/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-dashboard/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-dashboard/build_catkin.sh b/recipes/ros-noetic-rqt-robot-dashboard/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-dashboard/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-dashboard/recipe.yaml b/recipes/ros-noetic-rqt-robot-dashboard/recipe.yaml new file mode 100644 index 000000000..5b1ebaf4e --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-dashboard/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rqt-robot-dashboard + version: 0.5.8 +source: + git_url: https://github.com/ros-gbp/rqt_robot_dashboard-release.git + git_rev: release/noetic/rqt_robot_dashboard/0.5.8-1 + folder: ros-noetic-rqt-robot-dashboard/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-msgs + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-rospy + - ros-noetic-rqt-console + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-nav-view + - ros-noetic-rqt-robot-monitor + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-robot-monitor/bld_catkin.bat b/recipes/ros-noetic-rqt-robot-monitor/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-monitor/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-monitor/build_catkin.sh b/recipes/ros-noetic-rqt-robot-monitor/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-monitor/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-monitor/recipe.yaml b/recipes/ros-noetic-rqt-robot-monitor/recipe.yaml new file mode 100644 index 000000000..c0c4dcee9 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-monitor/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-rqt-robot-monitor + version: 0.5.15 +source: + git_url: https://github.com/ros-gbp/rqt_robot_monitor-release.git + git_rev: release/noetic/rqt_robot_monitor/0.5.15-1 + folder: ros-noetic-rqt-robot-monitor/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-msgs + - ros-noetic-python-qt-binding + - ros-noetic-qt-gui + - ros-noetic-qt-gui-py-common + - ros-noetic-rospy + - ros-noetic-rqt-bag + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-robot-plugins/bld_catkin.bat b/recipes/ros-noetic-rqt-robot-plugins/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-plugins/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-plugins/build_catkin.sh b/recipes/ros-noetic-rqt-robot-plugins/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-plugins/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-plugins/recipe.yaml b/recipes/ros-noetic-rqt-robot-plugins/recipe.yaml new file mode 100644 index 000000000..db0742228 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-plugins/recipe.yaml @@ -0,0 +1,68 @@ +package: + name: ros-noetic-rqt-robot-plugins + version: 0.5.8 +source: + git_url: https://github.com/ros-gbp/rqt_robot_plugins-release.git + git_rev: release/noetic/rqt_robot_plugins/0.5.8-1 + folder: ros-noetic-rqt-robot-plugins/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rqt-moveit + - ros-noetic-rqt-nav-view + - ros-noetic-rqt-pose-view + - ros-noetic-rqt-robot-dashboard + - ros-noetic-rqt-robot-monitor + - ros-noetic-rqt-robot-steering + - ros-noetic-rqt-runtime-monitor + - ros-noetic-rqt-rviz + - ros-noetic-rqt-tf-tree + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rqt-moveit + - ros-noetic-rqt-nav-view + - ros-noetic-rqt-pose-view + - ros-noetic-rqt-robot-dashboard + - ros-noetic-rqt-robot-monitor + - ros-noetic-rqt-robot-steering + - ros-noetic-rqt-runtime-monitor + - ros-noetic-rqt-rviz + - ros-noetic-rqt-tf-tree + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-robot-steering/bld_catkin.bat b/recipes/ros-noetic-rqt-robot-steering/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-steering/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-steering/build_catkin.sh b/recipes/ros-noetic-rqt-robot-steering/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-steering/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-robot-steering/recipe.yaml b/recipes/ros-noetic-rqt-robot-steering/recipe.yaml new file mode 100644 index 000000000..bdef7f876 --- /dev/null +++ b/recipes/ros-noetic-rqt-robot-steering/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-rqt-robot-steering + version: 0.5.12 +source: + git_url: https://github.com/ros-gbp/rqt_robot_steering-release.git + git_rev: release/noetic/rqt_robot_steering/0.5.12-1 + folder: ros-noetic-rqt-robot-steering/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-python-qt-binding + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-rviz/bld_catkin.bat b/recipes/ros-noetic-rqt-rviz/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-rviz/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-rviz/build_catkin.sh b/recipes/ros-noetic-rqt-rviz/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-rviz/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-rviz/recipe.yaml b/recipes/ros-noetic-rqt-rviz/recipe.yaml new file mode 100644 index 000000000..a3865ce29 --- /dev/null +++ b/recipes/ros-noetic-rqt-rviz/recipe.yaml @@ -0,0 +1,75 @@ +package: + name: ros-noetic-rqt-rviz + version: 0.7.0 +source: + git_url: https://github.com/ros-gbp/rqt_rviz-release.git + git_rev: release/noetic/rqt_rviz/0.7.0-1 + folder: ros-noetic-rqt-rviz/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - boost + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-class-loader + - ros-noetic-pluginlib + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-cpp + - ros-noetic-rviz + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-pluginlib + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-cpp + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rqt-service-caller/bld_catkin.bat b/recipes/ros-noetic-rqt-service-caller/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-service-caller/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-service-caller/build_catkin.sh b/recipes/ros-noetic-rqt-service-caller/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-service-caller/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-service-caller/recipe.yaml b/recipes/ros-noetic-rqt-service-caller/recipe.yaml new file mode 100644 index 000000000..28831e077 --- /dev/null +++ b/recipes/ros-noetic-rqt-service-caller/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-rqt-service-caller + version: 0.4.10 +source: + git_url: https://github.com/ros-gbp/rqt_service_caller-release.git + git_rev: release/noetic/rqt_service_caller/0.4.10-1 + folder: ros-noetic-rqt-service-caller/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosservice + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-py-common + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-srv/bld_catkin.bat b/recipes/ros-noetic-rqt-srv/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-srv/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-srv/build_catkin.sh b/recipes/ros-noetic-rqt-srv/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-srv/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-srv/recipe.yaml b/recipes/ros-noetic-rqt-srv/recipe.yaml new file mode 100644 index 000000000..f7f694cb7 --- /dev/null +++ b/recipes/ros-noetic-rqt-srv/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-rqt-srv + version: 0.4.9 +source: + git_url: https://github.com/ros-gbp/rqt_srv-release.git + git_rev: release/noetic/rqt_srv/0.4.9-1 + folder: ros-noetic-rqt-srv/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rosmsg + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-msg + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rosmsg + - ros-noetic-rospy + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-rqt-msg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-tf-tree/bld_catkin.bat b/recipes/ros-noetic-rqt-tf-tree/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-tf-tree/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-tf-tree/build_catkin.sh b/recipes/ros-noetic-rqt-tf-tree/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-tf-tree/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-tf-tree/recipe.yaml b/recipes/ros-noetic-rqt-tf-tree/recipe.yaml new file mode 100644 index 000000000..9644afdfa --- /dev/null +++ b/recipes/ros-noetic-rqt-tf-tree/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-rqt-tf-tree + version: 0.6.4 +source: + git_url: https://github.com/ros-gbp/rqt_tf_tree-release.git + git_rev: release/noetic/rqt_tf_tree/0.6.4-1 + folder: ros-noetic-rqt-tf-tree/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - mock + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-qt-dotgraph + - ros-noetic-rospy + - ros-noetic-rqt-graph + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rqt-topic/bld_catkin.bat b/recipes/ros-noetic-rqt-topic/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rqt-topic/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rqt-topic/build_catkin.sh b/recipes/ros-noetic-rqt-topic/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rqt-topic/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rqt-topic/recipe.yaml b/recipes/ros-noetic-rqt-topic/recipe.yaml new file mode 100644 index 000000000..4d82b98da --- /dev/null +++ b/recipes/ros-noetic-rqt-topic/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-rqt-topic + version: 0.4.13 +source: + git_url: https://github.com/ros-gbp/rqt_topic-release.git + git_rev: release/noetic/rqt_topic/0.4.13-1 + folder: ros-noetic-rqt-topic/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-python-qt-binding + - ros-noetic-rostopic + - ros-noetic-rqt-gui + - ros-noetic-rqt-gui-py + - ros-noetic-std-msgs + - rospkg + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rviz-imu-plugin/bld_catkin.bat b/recipes/ros-noetic-rviz-imu-plugin/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rviz-imu-plugin/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rviz-imu-plugin/build_catkin.sh b/recipes/ros-noetic-rviz-imu-plugin/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rviz-imu-plugin/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rviz-imu-plugin/patch/ros-noetic-rviz-imu-plugin.patch b/recipes/ros-noetic-rviz-imu-plugin/patch/ros-noetic-rviz-imu-plugin.patch new file mode 100644 index 000000000..22a979a4d --- /dev/null +++ b/recipes/ros-noetic-rviz-imu-plugin/patch/ros-noetic-rviz-imu-plugin.patch @@ -0,0 +1,23 @@ +diff --git a/rviz_imu_plugin/CMakeLists.txt b/rviz_imu_plugin/CMakeLists.txt +index 3c58331..d2a5189 100644 +--- a/rviz_imu_plugin/CMakeLists.txt ++++ b/rviz_imu_plugin/CMakeLists.txt +@@ -6,6 +6,18 @@ find_package(catkin REQUIRED COMPONENTS roscpp rviz) + ## This setting causes Qt's "MOC" generation to happen automatically. + set(CMAKE_AUTOMOC ON) + ++if(${CMAKE_C_COMPILER_ID} STREQUAL "Clang" AND ${CMAKE_C_COMPILER_VERSION} VERSION_GREATER_EQUAL "11") ++ # newer Clang chokes on the idiomatic way to use CF_ENUM; e.g. like this: ++ # typedef CF_ENUM(int, MyEnum) { ++ # MY_ENUM_THING, ++ # MY_ENUM_OTHER_THING, ++ # # etc... ++ # } ++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wno-undef-prefix") ++endif() ++ + ## This plugin includes Qt widgets, so we must include Qt. + ## We'll use the version that rviz used so they are compatible. + if(rviz_QT_VERSION VERSION_LESS "5") diff --git a/recipes/ros-noetic-rviz-imu-plugin/recipe.yaml b/recipes/ros-noetic-rviz-imu-plugin/recipe.yaml new file mode 100644 index 000000000..1200e0f3a --- /dev/null +++ b/recipes/ros-noetic-rviz-imu-plugin/recipe.yaml @@ -0,0 +1,71 @@ +package: + name: ros-noetic-rviz-imu-plugin + version: 1.2.6 +source: + git_url: https://github.com/uos-gbp/imu_tools-release.git + git_rev: release/noetic/rviz_imu_plugin/1.2.6-1 + folder: ros-noetic-rviz-imu-plugin/src/work + patches: + - patch/ros-noetic-rviz-imu-plugin.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-rviz + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-roscpp + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rviz-plugin-tutorials/bld_catkin.bat b/recipes/ros-noetic-rviz-plugin-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rviz-plugin-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rviz-plugin-tutorials/build_catkin.sh b/recipes/ros-noetic-rviz-plugin-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rviz-plugin-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rviz-plugin-tutorials/patch/ros-noetic-rviz-plugin-tutorials.patch b/recipes/ros-noetic-rviz-plugin-tutorials/patch/ros-noetic-rviz-plugin-tutorials.patch new file mode 100644 index 000000000..13251dd02 --- /dev/null +++ b/recipes/ros-noetic-rviz-plugin-tutorials/patch/ros-noetic-rviz-plugin-tutorials.patch @@ -0,0 +1,23 @@ +diff --git a/rviz_plugin_tutorials/CMakeLists.txt b/rviz_plugin_tutorials/CMakeLists.txt +index 01ff2738..1b4b4079 100644 +--- a/rviz_plugin_tutorials/CMakeLists.txt ++++ b/rviz_plugin_tutorials/CMakeLists.txt +@@ -10,6 +10,18 @@ catkin_package() + include_directories(${catkin_INCLUDE_DIRS}) + link_directories(${catkin_LIBRARY_DIRS}) + ++if(${CMAKE_C_COMPILER_ID} STREQUAL "Clang" AND ${CMAKE_C_COMPILER_VERSION} VERSION_GREATER_EQUAL "11") ++ # newer Clang chokes on the idiomatic way to use CF_ENUM; e.g. like this: ++ # typedef CF_ENUM(int, MyEnum) { ++ # MY_ENUM_THING, ++ # MY_ENUM_OTHER_THING, ++ # # etc... ++ # } ++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-elaborated-enum-base -Wno-undef-prefix") ++ SET(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wno-undef-prefix") ++endif() ++ + ## This setting causes Qt's "MOC" generation to happen automatically. + set(CMAKE_AUTOMOC ON) + diff --git a/recipes/ros-noetic-rviz-plugin-tutorials/recipe.yaml b/recipes/ros-noetic-rviz-plugin-tutorials/recipe.yaml new file mode 100644 index 000000000..95e3909dd --- /dev/null +++ b/recipes/ros-noetic-rviz-plugin-tutorials/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-rviz-plugin-tutorials + version: 0.11.0 +source: + git_url: https://github.com/ros-gbp/visualization_tutorials-release.git + git_rev: release/noetic/rviz_plugin_tutorials/0.11.0-1 + folder: ros-noetic-rviz-plugin-tutorials/src/work + patches: + - patch/ros-noetic-rviz-plugin-tutorials.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rviz + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rviz-python-tutorial/bld_catkin.bat b/recipes/ros-noetic-rviz-python-tutorial/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rviz-python-tutorial/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rviz-python-tutorial/build_catkin.sh b/recipes/ros-noetic-rviz-python-tutorial/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rviz-python-tutorial/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rviz-python-tutorial/recipe.yaml b/recipes/ros-noetic-rviz-python-tutorial/recipe.yaml new file mode 100644 index 000000000..45d9759c7 --- /dev/null +++ b/recipes/ros-noetic-rviz-python-tutorial/recipe.yaml @@ -0,0 +1,52 @@ +package: + name: ros-noetic-rviz-python-tutorial + version: 0.11.0 +source: + git_url: https://github.com/ros-gbp/visualization_tutorials-release.git + git_rev: release/noetic/rviz_python_tutorial/0.11.0-1 + folder: ros-noetic-rviz-python-tutorial/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rviz + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-rviz-visual-tools/bld_catkin.bat b/recipes/ros-noetic-rviz-visual-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rviz-visual-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rviz-visual-tools/build_catkin.sh b/recipes/ros-noetic-rviz-visual-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rviz-visual-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rviz-visual-tools/recipe.yaml b/recipes/ros-noetic-rviz-visual-tools/recipe.yaml new file mode 100644 index 000000000..004869ef3 --- /dev/null +++ b/recipes/ros-noetic-rviz-visual-tools/recipe.yaml @@ -0,0 +1,99 @@ +package: + name: ros-noetic-rviz-visual-tools + version: 3.9.3 +source: + git_url: https://github.com/PickNikRobotics/rviz_visual_tools-release.git + git_rev: release/noetic/rviz_visual_tools/3.9.3-1 + folder: ros-noetic-rviz-visual-tools/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - numpy + - ogre + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-eigen-stl-containers + - ros-noetic-geometry-msgs + - ros-noetic-graph-msgs + - ros-noetic-interactive-markers + - ros-noetic-roscpp + - ros-noetic-roslint + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-rviz + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - ogre + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-eigen-stl-containers + - ros-noetic-geometry-msgs + - ros-noetic-graph-msgs + - ros-noetic-interactive-markers + - ros-noetic-roscpp + - ros-noetic-roslint + - ros-noetic-rviz + - ros-noetic-sensor-msgs + - ros-noetic-shape-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-eigen + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-trajectory-msgs + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-rviz/bld_catkin.bat b/recipes/ros-noetic-rviz/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-rviz/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-rviz/build_catkin.sh b/recipes/ros-noetic-rviz/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-rviz/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-rviz/patch/ros-noetic-rviz.osx.patch b/recipes/ros-noetic-rviz/patch/ros-noetic-rviz.osx.patch new file mode 100644 index 000000000..e96482872 --- /dev/null +++ b/recipes/ros-noetic-rviz/patch/ros-noetic-rviz.osx.patch @@ -0,0 +1,241 @@ +diff --git a/src/rviz/default_plugin/camera_display.cpp b/src/rviz/default_plugin/camera_display.cpp +index 49abcfea8..af47fef99 100644 +--- a/src/rviz/default_plugin/camera_display.cpp ++++ b/src/rviz/default_plugin/camera_display.cpp +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -102,6 +103,8 @@ CameraDisplay::CameraDisplay() + SLOT(forceRender())); + zoom_property_->setMin(0.00001); + zoom_property_->setMax(100000); ++ ++ has_run_once_ = false; + } + + CameraDisplay::~CameraDisplay() +@@ -127,8 +130,15 @@ void CameraDisplay::onInitialize() + { + ImageDisplayBase::onInitialize(); + +- bg_scene_node_ = scene_node_->createChildSceneNode(); +- fg_scene_node_ = scene_node_->createChildSceneNode(); ++ { ++ static uint32_t count = 0; ++ std::stringstream ss; ++ ss << "CameraDisplay" << count++; ++ camera_scene_manager_ = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC, ss.str()); ++ } ++ ++ bg_scene_node_ = camera_scene_manager_->getRootSceneNode()->createChildSceneNode(); ++ fg_scene_node_ = camera_scene_manager_->getRootSceneNode()->createChildSceneNode(); + + { + static int count = 0; +@@ -189,6 +199,7 @@ void CameraDisplay::onInitialize() + render_panel_->getRenderWindow()->setActive(false); + render_panel_->resize(640, 480); + render_panel_->initialize(context_->getSceneManager(), context_); ++ // render_panel_->initialize(camera_scene_manager_, context_); + + setAssociatedWidget(render_panel_); + +@@ -212,8 +223,16 @@ void CameraDisplay::onInitialize() + void CameraDisplay::preRenderTargetUpdate(const Ogre::RenderTargetEvent& /*evt*/) + { + QString image_position = image_position_property_->getString(); +- bg_scene_node_->setVisible(caminfo_ok_ && (image_position == BACKGROUND || image_position == BOTH)); +- fg_scene_node_->setVisible(caminfo_ok_ && (image_position == OVERLAY || image_position == BOTH)); ++ ++ if (has_run_once_) ++ { ++ fg_scene_node_->setVisible(caminfo_ok_ && (image_position == OVERLAY || image_position == BOTH)); ++ bg_scene_node_->setVisible(caminfo_ok_ && (image_position == BACKGROUND || image_position == BOTH)); ++ } ++ else ++ { ++ has_run_once_ = true; ++ } + + // set view flags on all displays + visibility_property_->update(); +diff --git a/src/rviz/default_plugin/camera_display.h b/src/rviz/default_plugin/camera_display.h +index 175a3a240..ccd4d6f3e 100644 +--- a/src/rviz/default_plugin/camera_display.h ++++ b/src/rviz/default_plugin/camera_display.h +@@ -96,6 +96,8 @@ class CameraDisplay : public ImageDisplayBase, public Ogre::RenderTargetListener + ROSImageTexture texture_; + RenderPanel* render_panel_; + ++ Ogre::SceneManager* camera_scene_manager_; ++ + private Q_SLOTS: + void forceRender(); + void updateAlpha(); +@@ -135,6 +137,8 @@ private Q_SLOTS: + bool force_render_; + + uint32_t vis_bit_; ++ ++ bool has_run_once_; + }; + + } // namespace rviz +diff --git a/src/rviz/default_plugin/image_display.cpp b/src/rviz/default_plugin/image_display.cpp +index 3b5d50cea..e424ea68a 100644 +--- a/src/rviz/default_plugin/image_display.cpp ++++ b/src/rviz/default_plugin/image_display.cpp +@@ -72,6 +72,7 @@ ImageDisplay::ImageDisplay() : ImageDisplayBase(), texture_() + this, SLOT(updateNormalizeOptions())); + + got_float_image_ = false; ++ has_run_once_ = false; + } + + void ImageDisplay::onInitialize() +@@ -114,12 +115,13 @@ void ImageDisplay::onInitialize() + screen_rect_->setBoundingBox(aabInf); + setMaterial(*screen_rect_, material_); + img_scene_node_->attachObject(screen_rect_); ++ img_scene_node_->setVisible(false); + } + + render_panel_ = new RenderPanel(); ++ render_panel_->getRenderWindow()->addListener(this); + render_panel_->getRenderWindow()->setAutoUpdated(false); + render_panel_->getRenderWindow()->setActive(false); +- + render_panel_->resize(640, 480); + render_panel_->initialize(img_scene_manager_, context_); + +@@ -136,12 +138,32 @@ ImageDisplay::~ImageDisplay() + { + if (initialized()) + { ++ render_panel_->getRenderWindow()->removeListener(this); ++ + delete render_panel_; + delete screen_rect_; + removeAndDestroyChildNode(img_scene_node_->getParentSceneNode(), img_scene_node_); + } + } + ++void ImageDisplay::preRenderTargetUpdate(const Ogre::RenderTargetEvent& /*evt*/) ++{ ++ if (has_run_once_) ++ { ++ img_scene_node_->setVisible(true); ++ } ++ else ++ { ++ has_run_once_ = true; ++ img_scene_node_->setVisible(false); ++ } ++} ++ ++void ImageDisplay::postRenderTargetUpdate(const Ogre::RenderTargetEvent& /*evt*/) ++{ ++ img_scene_node_->setVisible(false); ++} ++ + void ImageDisplay::onEnable() + { + ImageDisplayBase::subscribe(); +diff --git a/src/rviz/default_plugin/image_display.h b/src/rviz/default_plugin/image_display.h +index 88492c191..e5b1335bf 100644 +--- a/src/rviz/default_plugin/image_display.h ++++ b/src/rviz/default_plugin/image_display.h +@@ -59,7 +59,7 @@ namespace rviz + * \class ImageDisplay + * + */ +-class ImageDisplay : public ImageDisplayBase ++class ImageDisplay : public ImageDisplayBase, public Ogre::RenderTargetListener + { + Q_OBJECT + public: +@@ -71,6 +71,10 @@ class ImageDisplay : public ImageDisplayBase + void update(float wall_dt, float ros_dt) override; + void reset() override; + ++ // Overrides from Ogre::RenderTargetListener ++ void preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt) override; ++ void postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt) override; ++ + public Q_SLOTS: + virtual void updateNormalizeOptions(); + +@@ -98,6 +102,8 @@ public Q_SLOTS: + FloatProperty* max_property_; + IntProperty* median_buffer_size_property_; + bool got_float_image_; ++ ++ bool has_run_once_; + }; + + } // namespace rviz +diff --git a/src/rviz/ogre_helpers/render_system.cpp b/src/rviz/ogre_helpers/render_system.cpp +index 14d83396c..d1a500d30 100644 +--- a/src/rviz/ogre_helpers/render_system.cpp ++++ b/src/rviz/ogre_helpers/render_system.cpp +@@ -423,7 +423,7 @@ Ogre::RenderWindow* RenderSystem::makeRenderWindow(WindowIDType window_id, + // Created a non-stereo window. Discard it and try again (below) + // without the stereo parameter. + ogre_root_->detachRenderTarget(window); +- window->destroy(); ++ ogre_root_->destroyRenderTarget(window); + window = nullptr; + stream << "x"; + is_stereo = false; +@@ -480,6 +480,7 @@ Ogre::RenderWindow* RenderSystem::tryMakeRenderWindow(const std::string& name, + if (x_baddrawable_error) + { + ogre_root_->detachRenderTarget(window); ++ ogre_root_->destroyRenderTarget(window); + window = nullptr; + x_baddrawable_error = false; + } +diff --git a/src/rviz/render_panel.cpp b/src/rviz/render_panel.cpp +index 5532741d4..10fc63314 100644 +--- a/src/rviz/render_panel.cpp ++++ b/src/rviz/render_panel.cpp +@@ -35,6 +35,7 @@ + + #include + #include ++#include + + #include + #include +@@ -100,6 +101,12 @@ void RenderPanel::leaveEvent(QEvent* /*event*/) + } + } + ++void RenderPanel::resizeEvent(QResizeEvent* event) ++{ ++ QWidget::resizeEvent(event); ++ render_window_->windowMovedOrResized(); ++} ++ + void RenderPanel::onRenderWindowMouseEvents(QMouseEvent* event) + { + int last_x = mouse_x_; +diff --git a/src/rviz/render_panel.h b/src/rviz/render_panel.h +index 2ce29c6f8..e1ef904e9 100644 +--- a/src/rviz/render_panel.h ++++ b/src/rviz/render_panel.h +@@ -118,6 +118,8 @@ class RenderPanel : public QtOgreRenderWindow, public Ogre::SceneManager::Listen + /// Called when any mouse event happens inside the render window + void onRenderWindowMouseEvents(QMouseEvent* event); + ++ void resizeEvent(QResizeEvent* event) override; ++ + // QWidget mouse events all get sent to onRenderWindowMouseEvents(). + // QMouseEvent.type() distinguishes them later. + void mouseMoveEvent(QMouseEvent* event) override + diff --git a/recipes/ros-noetic-rviz/patch/ros-noetic-rviz.patch b/recipes/ros-noetic-rviz/patch/ros-noetic-rviz.patch new file mode 100644 index 000000000..ccf0fe54a --- /dev/null +++ b/recipes/ros-noetic-rviz/patch/ros-noetic-rviz.patch @@ -0,0 +1,126 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d623dd4e..e4490137 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,11 @@ + cmake_minimum_required(VERSION 3.0.2) + project(rviz) + ++## Restrict Windows header namespace usage ++if(WIN32) ++ add_definitions(-DNOGDI) ++endif() ++ + if (POLICY CMP0042) + cmake_policy(SET CMP0042 NEW) + endif() +@@ -98,10 +103,10 @@ if(APPLE) + endif() + + # Prefer newer vender-specific OpenGL library +-if (POLICY CMP0072) +- cmake_policy(SET CMP0072 NEW) +-endif() +-find_package(OpenGL REQUIRED) ++# if (POLICY CMP0072) ++# cmake_policy(SET CMP0072 NEW) ++# endif() ++# find_package(OpenGL REQUIRED) + + set(CMAKE_AUTOMOC ON) + +@@ -214,7 +219,7 @@ catkin_package( + + #catkin_lint: ignore_once external_directory + include_directories(src ${EXPORT_HEADER_DIR}) +-include_directories(SYSTEM ++include_directories( + ${EIGEN3_INCLUDE_DIRS} + ${OGRE_INCLUDE_DIRS} + ${OPENGL_INCLUDE_DIR} +diff --git a/ogre_media/fonts/ogre1.10.fontdef b/ogre_media/fonts/ogre1.10.fontdef +index 4b3c5b82..e714db0f 100644 +--- a/ogre_media/fonts/ogre1.10.fontdef ++++ b/ogre_media/fonts/ogre1.10.fontdef +@@ -1,3 +1,12 @@ ++Liberation Sans ++{ ++ type truetype ++ source liberation-sans/LiberationSans-Regular.ttf ++ size 18 ++ resolution 96 ++} ++ ++# Ogre >= 1.10 has changed the format + font "Liberation Sans" + { + type truetype +diff --git a/src/python_bindings/sip/CMakeLists.txt b/src/python_bindings/sip/CMakeLists.txt +index efbb497b..d2f4eb9b 100644 +--- a/src/python_bindings/sip/CMakeLists.txt ++++ b/src/python_bindings/sip/CMakeLists.txt +@@ -48,14 +48,21 @@ set(rviz_sip_INCLUDE_DIRS + ${OGRE_INCLUDE_DIRS} + ${catkin_INCLUDE_DIRS} + ) ++ ++find_package(OpenGL REQUIRED) ++find_package(Threads REQUIRED) + set(rviz_sip_LIBRARIES ${rviz_LIBRARIES} ${PROJECT_NAME}) +-set(rviz_sip_LIBRARY_DIRS ${rviz_LIBRARY_DIRS} ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LIB_DESTINATION}) ++set(rviz_sip_LIBRARY_DIRS ${rviz_LIBRARY_DIRS} ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LIB_DESTINATION} /usr/lib/x86_64-linux-gnu/) + if (MSVC) + set(rviz_sip_LDFLAGS_OTHER ${rviz_LDFLAGS_OTHER} /LIBPATH:\"${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LIB_DESTINATION}\") + else() + set(rviz_sip_LDFLAGS_OTHER ${rviz_LDFLAGS_OTHER} -Wl,-rpath,\\"${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LIB_DESTINATION}\\") + endif() + ++message(WARNING "rviz_sip_LIBRARIES: ${rviz_sip_LIBRARIES}") ++message(WARNING "rviz_sip_LIBRARY_DIRS: ${rviz_sip_LIBRARY_DIRS}") ++ ++ + if(sip_helper_FOUND) + list(APPEND rviz_BINDINGS "sip") + set(rviz_BINDINGS "${rviz_BINDINGS}" PARENT_SCOPE) +@@ -69,11 +76,21 @@ if(sip_helper_FOUND) + if(DEFINED PYTHON_EXTENSION_MODULE_SUFFIX) + set(rviz_sip_LIBRARY_FILE librviz_sip${PYTHON_EXTENSION_MODULE_SUFFIX}) + elseif(APPLE) +- set(rviz_sip_LIBRARY_FILE librviz_sip.so) ++ # Okay-ish hack for now ++ if(TRUE) ++ set(rviz_sip_LIBRARY_FILE "librviz_sip.cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}-darwin.so") ++ else() ++ set(rviz_sip_LIBRARY_FILE librviz_sip.so) ++ endif() + elseif(WIN32) + set(rviz_sip_LIBRARY_FILE librviz_sip.pyd) + else() +- set(rviz_sip_LIBRARY_FILE librviz_sip${CMAKE_SHARED_LIBRARY_SUFFIX}) ++ if(TRUE) ++ message(WARNING "Use hack") ++ set(rviz_sip_LIBRARY_FILE "librviz_sip.cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}-${CMAKE_HOST_SYSTEM_PROCESSOR}-linux-gnu${CMAKE_SHARED_LIBRARY_SUFFIX}") ++ else() ++ set(rviz_sip_LIBRARY_FILE librviz_sip${CMAKE_SHARED_LIBRARY_SUFFIX}) ++ endif() + endif() + #catkin_lint: ignore_once external_file + install(FILES ${CATKIN_DEVEL_PREFIX}/${PYTHON_INSTALL_DIR}/rviz/${rviz_sip_LIBRARY_FILE} +diff --git a/src/rviz/ogre_helpers/render_system.cpp b/src/rviz/ogre_helpers/render_system.cpp +index 4005f982..c0441de8 100644 +--- a/src/rviz/ogre_helpers/render_system.cpp ++++ b/src/rviz/ogre_helpers/render_system.cpp +@@ -159,9 +159,10 @@ void RenderSystem::setupDummyWindowId() + + void RenderSystem::loadOgrePlugins() + { +- std::string plugin_prefix = get_ogre_plugin_path() + "/"; +-#ifdef Q_OS_MAC +- plugin_prefix += "lib"; ++#ifdef _WIN32 ++ std::string plugin_prefix = std::string(std::getenv("CONDA_PREFIX")) + "\\Library\\bin\\"; ++#else ++ std::string plugin_prefix = std::string(std::getenv("CONDA_PREFIX")) + "/lib/OGRE/"; + #endif + ogre_root_->loadPlugin(plugin_prefix + "RenderSystem_GL"); + ogre_root_->loadPlugin(plugin_prefix + "Plugin_OctreeSceneManager"); diff --git a/recipes/ros-noetic-rviz/recipe.yaml b/recipes/ros-noetic-rviz/recipe.yaml new file mode 100644 index 000000000..2f450bb89 --- /dev/null +++ b/recipes/ros-noetic-rviz/recipe.yaml @@ -0,0 +1,129 @@ +package: + name: ros-noetic-rviz + version: 1.14.20 +source: + git_url: https://github.com/ros-gbp/rviz-release.git + git_rev: release/noetic/rviz/1.14.20-1 + folder: ros-noetic-rviz/src/work + patches: + - patch/ros-noetic-rviz.patch + - patch/ros-noetic-rviz.osx.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + - pyqt-builder + - pyqt5-sip + - sel(linux): "{{ cdt('mesa-libgl-devel') }}" + - sel(linux): "{{ cdt('mesa-dri-drivers') }}" + - sel(linux): "{{ cdt('libselinux') }}" + - sel(linux): "{{ cdt('libxdamage') }}" + - sel(linux): "{{ cdt('libxxf86vm') }}" + - sel(linux): "{{ cdt('libxfixes') }}" + - sel(linux): "{{ cdt('libxext') }}" + - sel(linux): "{{ cdt('libxau') }}" + - sel(linux): "{{ cdt('libxcb') }}" + host: + - assimp + - eigen + - numpy + - ogre + - pip + - sel(build_platform == target_platform): pkg-config + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-interactive-markers + - ros-noetic-laser-geometry + - ros-noetic-map-msgs + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-python-qt-binding + - ros-noetic-resource-retriever + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-rosunit + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - tinyxml2 + - urdfdom + - urdfdom_headers + - yaml-cpp + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext + run: + - assimp + - ogre + - python + - qt-main + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-image-transport + - ros-noetic-interactive-markers + - ros-noetic-laser-geometry + - ros-noetic-map-msgs + - ros-noetic-media-export + - ros-noetic-message-filters + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-pluginlib + - ros-noetic-python-qt-binding + - ros-noetic-resource-retriever + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-urdf + - ros-noetic-visualization-msgs + - tinyxml2 + - yaml-cpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} + - sel(unix): xorg-libx11 + - sel(unix): xorg-libxext diff --git a/recipes/ros-noetic-sensor-msgs/bld_catkin.bat b/recipes/ros-noetic-sensor-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-sensor-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-sensor-msgs/build_catkin.sh b/recipes/ros-noetic-sensor-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-sensor-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-sensor-msgs/recipe.yaml b/recipes/ros-noetic-sensor-msgs/recipe.yaml new file mode 100644 index 000000000..94533e131 --- /dev/null +++ b/recipes/ros-noetic-sensor-msgs/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-sensor-msgs + version: 1.13.1 +source: + git_url: https://github.com/ros-gbp/common_msgs-release.git + git_rev: release/noetic/sensor_msgs/1.13.1-1 + folder: ros-noetic-sensor-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-rosbag + - ros-noetic-rosunit + - ros-noetic-std-msgs + - setuptools + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-sick-tim/bld_catkin.bat b/recipes/ros-noetic-sick-tim/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-sick-tim/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-sick-tim/build_catkin.sh b/recipes/ros-noetic-sick-tim/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-sick-tim/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-sick-tim/patch/ros-noetic-sick-tim.patch b/recipes/ros-noetic-sick-tim/patch/ros-noetic-sick-tim.patch new file mode 100644 index 000000000..6198ec75f --- /dev/null +++ b/recipes/ros-noetic-sick-tim/patch/ros-noetic-sick-tim.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 36cee0a..4cf01f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,6 +11,7 @@ find_package(catkin REQUIRED + ) + + find_package(PkgConfig REQUIRED) ++pkg_check_modules(libudev libudev) + pkg_check_modules(libusb libusb-1.0) + + find_package(Boost REQUIRED COMPONENTS system) +@@ -23,7 +24,7 @@ catkin_package( + LIBRARIES sick_tim_3xx + INCLUDE_DIRS include) + +-include_directories(include ${catkin_INCLUDE_DIRS} ${libusb_INCLUDE_DIRS}) ++include_directories(include ${catkin_INCLUDE_DIRS} ${libudev_INCLUDE_DIRS} ${libusb_INCLUDE_DIRS}) + + add_library(sick_tim_3xx + src/sick_tim_common.cpp +@@ -33,6 +34,7 @@ add_library(sick_tim_3xx + add_dependencies(sick_tim_3xx ${PROJECT_NAME}_gencfg ${catkin_EXPORTED_TARGETS}) + target_link_libraries(sick_tim_3xx + ${catkin_LIBRARIES} ++ ${libudev_LIBRARIES} + ${libusb_LIBRARIES}) + + add_executable(sick_tim310s01 diff --git a/recipes/ros-noetic-sick-tim/recipe.yaml b/recipes/ros-noetic-sick-tim/recipe.yaml new file mode 100644 index 000000000..b10a9eb00 --- /dev/null +++ b/recipes/ros-noetic-sick-tim/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-sick-tim + version: 0.0.18 +source: + git_url: https://github.com/uos-gbp/sick_tim-release.git + git_rev: release/noetic/sick_tim/0.0.18-1 + folder: ros-noetic-sick-tim/src/work + patches: + - patch/ros-noetic-sick-tim.patch + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - libusb + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-roscpp + - ros-noetic-roslaunch + - ros-noetic-sensor-msgs + run: + - libusb + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-updater + - ros-noetic-dynamic-reconfigure + - ros-noetic-robot-state-publisher + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-simulators/bld_catkin.bat b/recipes/ros-noetic-simulators/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-simulators/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-simulators/build_catkin.sh b/recipes/ros-noetic-simulators/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-simulators/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-simulators/recipe.yaml b/recipes/ros-noetic-simulators/recipe.yaml new file mode 100644 index 000000000..0a8e57564 --- /dev/null +++ b/recipes/ros-noetic-simulators/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-simulators + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/simulators/1.5.0-1 + folder: ros-noetic-simulators/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-gazebo-ros-pkgs + - ros-noetic-robot + - ros-noetic-rqt-common-plugins + - ros-noetic-rqt-robot-plugins + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-smach-ros/bld_catkin.bat b/recipes/ros-noetic-smach-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-smach-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-smach-ros/build_catkin.sh b/recipes/ros-noetic-smach-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-smach-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-smach-ros/recipe.yaml b/recipes/ros-noetic-smach-ros/recipe.yaml new file mode 100644 index 000000000..0b2c30306 --- /dev/null +++ b/recipes/ros-noetic-smach-ros/recipe.yaml @@ -0,0 +1,59 @@ +package: + name: ros-noetic-smach-ros + version: 2.5.2 +source: + git_url: https://github.com/ros-gbp/executive_smach-release.git + git_rev: release/noetic/smach_ros/2.5.2-1 + folder: ros-noetic-smach-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-rostest + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-rospy + - ros-noetic-rostopic + - ros-noetic-smach + - ros-noetic-smach-msgs + - ros-noetic-std-msgs + - ros-noetic-std-srvs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-sound-play/bld_catkin.bat b/recipes/ros-noetic-sound-play/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-sound-play/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-sound-play/build_catkin.sh b/recipes/ros-noetic-sound-play/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-sound-play/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-sound-play/recipe.yaml b/recipes/ros-noetic-sound-play/recipe.yaml new file mode 100644 index 000000000..41fc09deb --- /dev/null +++ b/recipes/ros-noetic-sound-play/recipe.yaml @@ -0,0 +1,73 @@ +package: + name: ros-noetic-sound-play + version: 0.3.17 +source: + git_url: https://github.com/ros-gbp/audio_common-release.git + git_rev: release/noetic/sound_play/0.3.17-1 + folder: ros-noetic-sound-play/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-audio-common-msgs + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-message-generation + - ros-noetic-roscpp + - ros-noetic-roslib + - setuptools + run: + - festival + - festvox-kallpc16k + - gst-plugins-base + - gst-plugins-good + - gst-plugins-ugly + - gstreamer + - pygobject + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib-msgs + - ros-noetic-audio-common-msgs + - ros-noetic-diagnostic-msgs + - ros-noetic-message-runtime + - ros-noetic-resource-retriever + - ros-noetic-roscpp + - ros-noetic-roslib + - ros-noetic-rospy + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-stereo-image-proc/bld_catkin.bat b/recipes/ros-noetic-stereo-image-proc/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-stereo-image-proc/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-stereo-image-proc/build_catkin.sh b/recipes/ros-noetic-stereo-image-proc/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-stereo-image-proc/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-stereo-image-proc/recipe.yaml b/recipes/ros-noetic-stereo-image-proc/recipe.yaml new file mode 100644 index 000000000..5451bf6df --- /dev/null +++ b/recipes/ros-noetic-stereo-image-proc/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-stereo-image-proc + version: 1.17.0 +source: + git_url: https://github.com/ros-gbp/image_pipeline-release.git + git_rev: release/noetic/stereo_image_proc/1.17.0-1 + folder: ros-noetic-stereo-image-proc/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-geometry + - ros-noetic-image-proc + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-stereo-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-geometry + - ros-noetic-image-proc + - ros-noetic-image-transport + - ros-noetic-message-filters + - ros-noetic-nodelet + - ros-noetic-sensor-msgs + - ros-noetic-stereo-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-stereo-msgs/bld_catkin.bat b/recipes/ros-noetic-stereo-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-stereo-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-stereo-msgs/build_catkin.sh b/recipes/ros-noetic-stereo-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-stereo-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-stereo-msgs/recipe.yaml b/recipes/ros-noetic-stereo-msgs/recipe.yaml new file mode 100644 index 000000000..16d88ad35 --- /dev/null +++ b/recipes/ros-noetic-stereo-msgs/recipe.yaml @@ -0,0 +1,57 @@ +package: + name: ros-noetic-stereo-msgs + version: 1.13.1 +source: + git_url: https://github.com/ros-gbp/common_msgs-release.git + git_rev: release/noetic/stereo_msgs/1.13.1-1 + folder: ros-noetic-stereo-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-message-runtime + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf-conversions/bld_catkin.bat b/recipes/ros-noetic-tf-conversions/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf-conversions/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf-conversions/build_catkin.sh b/recipes/ros-noetic-tf-conversions/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf-conversions/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf-conversions/recipe.yaml b/recipes/ros-noetic-tf-conversions/recipe.yaml new file mode 100644 index 000000000..c1dbc63b1 --- /dev/null +++ b/recipes/ros-noetic-tf-conversions/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-tf-conversions + version: 1.13.2 +source: + git_url: https://github.com/ros-gbp/geometry-release.git + git_rev: release/noetic/tf_conversions/1.13.2-1 + folder: ros-noetic-tf-conversions/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-kdl-conversions + - ros-noetic-tf + run: + - eigen + - orocos-kdl + - python + - python-orocos-kdl + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-kdl-conversions + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf/bld_catkin.bat b/recipes/ros-noetic-tf/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf/build_catkin.sh b/recipes/ros-noetic-tf/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf/recipe.yaml b/recipes/ros-noetic-tf/recipe.yaml new file mode 100644 index 000000000..821d278de --- /dev/null +++ b/recipes/ros-noetic-tf/recipe.yaml @@ -0,0 +1,75 @@ +package: + name: ros-noetic-tf + version: 1.13.2 +source: + git_url: https://github.com/ros-gbp/geometry-release.git + git_rev: release/noetic/tf/1.13.2-1 + folder: ros-noetic-tf/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - graphviz + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rostime + - ros-noetic-rosunit + - ros-noetic-roswtf + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-ros + run: + - graphviz + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-message-runtime + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-roswtf + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf2-geometry-msgs/bld_catkin.bat b/recipes/ros-noetic-tf2-geometry-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf2-geometry-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf2-geometry-msgs/build_catkin.sh b/recipes/ros-noetic-tf2-geometry-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf2-geometry-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf2-geometry-msgs/recipe.yaml b/recipes/ros-noetic-tf2-geometry-msgs/recipe.yaml new file mode 100644 index 000000000..97de2e176 --- /dev/null +++ b/recipes/ros-noetic-tf2-geometry-msgs/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-tf2-geometry-msgs + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/tf2_geometry_msgs/0.7.7-1 + folder: ros-noetic-tf2-geometry-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - python-orocos-kdl + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-ros-environment + - ros-noetic-rostest + - ros-noetic-tf2 + - ros-noetic-tf2-ros + run: + - orocos-kdl + - python + - python-orocos-kdl + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf2-kdl/bld_catkin.bat b/recipes/ros-noetic-tf2-kdl/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf2-kdl/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf2-kdl/build_catkin.sh b/recipes/ros-noetic-tf2-kdl/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf2-kdl/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf2-kdl/recipe.yaml b/recipes/ros-noetic-tf2-kdl/recipe.yaml new file mode 100644 index 000000000..39850bb98 --- /dev/null +++ b/recipes/ros-noetic-tf2-kdl/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-tf2-kdl + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/tf2_kdl/0.7.7-1 + folder: ros-noetic-tf2-kdl/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - orocos-kdl + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-ros-environment + - ros-noetic-rostest + - ros-noetic-tf2 + - ros-noetic-tf2-ros + run: + - eigen + - orocos-kdl + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf2-ros/bld_catkin.bat b/recipes/ros-noetic-tf2-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf2-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf2-ros/build_catkin.sh b/recipes/ros-noetic-tf2-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf2-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf2-ros/recipe.yaml b/recipes/ros-noetic-tf2-ros/recipe.yaml new file mode 100644 index 000000000..c7c148b6e --- /dev/null +++ b/recipes/ros-noetic-tf2-ros/recipe.yaml @@ -0,0 +1,75 @@ +package: + name: ros-noetic-tf2-ros + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/tf2_ros/0.7.7-1 + folder: ros-noetic-tf2-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-roscpp + - ros-noetic-rosgraph + - ros-noetic-rospy + - ros-noetic-rostest + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-msgs + - ros-noetic-tf2-py + - ros-noetic-xmlrpcpp + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-geometry-msgs + - ros-noetic-message-filters + - ros-noetic-roscpp + - ros-noetic-rosgraph + - ros-noetic-rospy + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-msgs + - ros-noetic-tf2-py + - ros-noetic-xmlrpcpp + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf2-sensor-msgs/bld_catkin.bat b/recipes/ros-noetic-tf2-sensor-msgs/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf2-sensor-msgs/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf2-sensor-msgs/build_catkin.sh b/recipes/ros-noetic-tf2-sensor-msgs/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf2-sensor-msgs/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf2-sensor-msgs/recipe.yaml b/recipes/ros-noetic-tf2-sensor-msgs/recipe.yaml new file mode 100644 index 000000000..363797cfd --- /dev/null +++ b/recipes/ros-noetic-tf2-sensor-msgs/recipe.yaml @@ -0,0 +1,63 @@ +package: + name: ros-noetic-tf2-sensor-msgs + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/tf2_sensor_msgs/0.7.7-1 + folder: ros-noetic-tf2-sensor-msgs/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - eigen + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-geometry-msgs + - ros-noetic-rostest + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + run: + - eigen + - python + - python-orocos-kdl + - ros-distro-mutex 0.5 noetic + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-tf2-tools/bld_catkin.bat b/recipes/ros-noetic-tf2-tools/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-tf2-tools/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-tf2-tools/build_catkin.sh b/recipes/ros-noetic-tf2-tools/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-tf2-tools/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-tf2-tools/recipe.yaml b/recipes/ros-noetic-tf2-tools/recipe.yaml new file mode 100644 index 000000000..eabb85f86 --- /dev/null +++ b/recipes/ros-noetic-tf2-tools/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-tf2-tools + version: 0.7.7 +source: + git_url: https://github.com/ros-gbp/geometry2-release.git + git_rev: release/noetic/tf2_tools/0.7.7-1 + folder: ros-noetic-tf2-tools/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-tf2 + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-tf2 + - ros-noetic-tf2-msgs + - ros-noetic-tf2-ros + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-theora-image-transport/bld_catkin.bat b/recipes/ros-noetic-theora-image-transport/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-theora-image-transport/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-theora-image-transport/build_catkin.sh b/recipes/ros-noetic-theora-image-transport/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-theora-image-transport/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-theora-image-transport/recipe.yaml b/recipes/ros-noetic-theora-image-transport/recipe.yaml new file mode 100644 index 000000000..dde64bcc6 --- /dev/null +++ b/recipes/ros-noetic-theora-image-transport/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-theora-image-transport + version: 1.14.0 +source: + git_url: https://github.com/ros-gbp/image_transport_plugins-release.git + git_rev: release/noetic/theora_image_transport/1.14.0-1 + folder: ros-noetic-theora-image-transport/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - libogg + - libtheora + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-pluginlib + - ros-noetic-rosbag + - ros-noetic-std-msgs + run: + - libogg + - libtheora + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-dynamic-reconfigure + - ros-noetic-image-transport + - ros-noetic-message-runtime + - ros-noetic-pluginlib + - ros-noetic-rosbag + - ros-noetic-std-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtle-actionlib/bld_catkin.bat b/recipes/ros-noetic-turtle-actionlib/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtle-actionlib/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtle-actionlib/build_catkin.sh b/recipes/ros-noetic-turtle-actionlib/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtle-actionlib/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtle-actionlib/recipe.yaml b/recipes/ros-noetic-turtle-actionlib/recipe.yaml new file mode 100644 index 000000000..be2ce0eaa --- /dev/null +++ b/recipes/ros-noetic-turtle-actionlib/recipe.yaml @@ -0,0 +1,69 @@ +package: + name: ros-noetic-turtle-actionlib + version: 0.2.0 +source: + git_url: https://github.com/ros-gbp/common_tutorials-release.git + git_rev: release/noetic/turtle_actionlib/0.2.0-1 + folder: ros-noetic-turtle-actionlib/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-turtlesim + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-angles + - ros-noetic-geometry-msgs + - ros-noetic-message-runtime + - ros-noetic-rosconsole + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-turtlesim + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtle-tf/bld_catkin.bat b/recipes/ros-noetic-turtle-tf/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtle-tf/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtle-tf/build_catkin.sh b/recipes/ros-noetic-turtle-tf/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtle-tf/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtle-tf/recipe.yaml b/recipes/ros-noetic-turtle-tf/recipe.yaml new file mode 100644 index 000000000..39d7c8030 --- /dev/null +++ b/recipes/ros-noetic-turtle-tf/recipe.yaml @@ -0,0 +1,62 @@ +package: + name: ros-noetic-turtle-tf + version: 0.2.3 +source: + git_url: https://github.com/ros-gbp/geometry_tutorials-release.git + git_rev: release/noetic/turtle_tf/0.2.3-1 + folder: ros-noetic-turtle-tf/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-turtlesim + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-turtlesim + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtle-tf2/bld_catkin.bat b/recipes/ros-noetic-turtle-tf2/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtle-tf2/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtle-tf2/build_catkin.sh b/recipes/ros-noetic-turtle-tf2/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtle-tf2/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtle-tf2/recipe.yaml b/recipes/ros-noetic-turtle-tf2/recipe.yaml new file mode 100644 index 000000000..2f5aa308b --- /dev/null +++ b/recipes/ros-noetic-turtle-tf2/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-turtle-tf2 + version: 0.2.3 +source: + git_url: https://github.com/ros-gbp/geometry_tutorials-release.git + git_rev: release/noetic/turtle_tf2/0.2.3-1 + folder: ros-noetic-turtle-tf2/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-turtlesim + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-roscpp + - ros-noetic-rospy + - ros-noetic-std-msgs + - ros-noetic-tf2 + - ros-noetic-tf2-geometry-msgs + - ros-noetic-tf2-ros + - ros-noetic-turtlesim + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-bringup/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-bringup/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-bringup/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-bringup/build_catkin.sh b/recipes/ros-noetic-turtlebot3-bringup/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-bringup/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-bringup/recipe.yaml b/recipes/ros-noetic-turtlebot3-bringup/recipe.yaml new file mode 100644 index 000000000..223bfe0e3 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-bringup/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-turtlebot3-bringup + version: 1.2.5 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3-release.git + git_rev: release/noetic/turtlebot3_bringup/1.2.5-1 + folder: ros-noetic-turtlebot3-bringup/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-diagnostic-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-turtlebot3-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-diagnostic-msgs + - ros-noetic-hls-lfcd-lds-driver + - ros-noetic-joint-state-publisher + - ros-noetic-robot-state-publisher + - ros-noetic-roscpp + - ros-noetic-rosserial-python + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-turtlebot3-description + - ros-noetic-turtlebot3-msgs + - ros-noetic-turtlebot3-teleop + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-example/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-example/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-example/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-example/build_catkin.sh b/recipes/ros-noetic-turtlebot3-example/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-example/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-example/recipe.yaml b/recipes/ros-noetic-turtlebot3-example/recipe.yaml new file mode 100644 index 000000000..4f0a4ea9f --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-example/recipe.yaml @@ -0,0 +1,74 @@ +package: + name: ros-noetic-turtlebot3-example + version: 1.2.5 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3-release.git + git_rev: release/noetic/turtlebot3_example/1.2.5-1 + folder: ros-noetic-turtlebot3-example/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-interactive-markers + - ros-noetic-message-generation + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-turtlebot3-msgs + - ros-noetic-visualization-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-actionlib + - ros-noetic-actionlib-msgs + - ros-noetic-geometry-msgs + - ros-noetic-interactive-markers + - ros-noetic-message-runtime + - ros-noetic-nav-msgs + - ros-noetic-rospy + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-turtlebot3-bringup + - ros-noetic-turtlebot3-msgs + - ros-noetic-visualization-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-fake/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-fake/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-fake/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-fake/build_catkin.sh b/recipes/ros-noetic-turtlebot3-fake/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-fake/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-fake/recipe.yaml b/recipes/ros-noetic-turtlebot3-fake/recipe.yaml new file mode 100644 index 000000000..c259e25c3 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-fake/recipe.yaml @@ -0,0 +1,65 @@ +package: + name: ros-noetic-turtlebot3-fake + version: 1.3.2 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3_simulations-release.git + git_rev: release/noetic/turtlebot3_fake/1.3.2-2 + folder: ros-noetic-turtlebot3-fake/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-turtlebot3-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-robot-state-publisher + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-turtlebot3-msgs + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-gazebo/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-gazebo/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-gazebo/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-gazebo/build_catkin.sh b/recipes/ros-noetic-turtlebot3-gazebo/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-gazebo/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-gazebo/recipe.yaml b/recipes/ros-noetic-turtlebot3-gazebo/recipe.yaml new file mode 100644 index 000000000..be86bea7a --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-gazebo/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-turtlebot3-gazebo + version: 1.3.2 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3_simulations-release.git + git_rev: release/noetic/turtlebot3_gazebo/1.3.2-2 + folder: ros-noetic-turtlebot3-gazebo/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-gazebo-ros + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + run: + - gazebo + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-gazebo-ros + - ros-noetic-geometry-msgs + - ros-noetic-nav-msgs + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-turtlebot3-description + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-navigation/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-navigation/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-navigation/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-navigation/build_catkin.sh b/recipes/ros-noetic-turtlebot3-navigation/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-navigation/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-navigation/recipe.yaml b/recipes/ros-noetic-turtlebot3-navigation/recipe.yaml new file mode 100644 index 000000000..ae7704a2f --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-navigation/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-turtlebot3-navigation + version: 1.2.5 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3-release.git + git_rev: release/noetic/turtlebot3_navigation/1.2.5-1 + folder: ros-noetic-turtlebot3-navigation/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-amcl + - ros-noetic-map-server + - ros-noetic-move-base + - ros-noetic-turtlebot3-bringup + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-simulations/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-simulations/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-simulations/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-simulations/build_catkin.sh b/recipes/ros-noetic-turtlebot3-simulations/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-simulations/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-simulations/recipe.yaml b/recipes/ros-noetic-turtlebot3-simulations/recipe.yaml new file mode 100644 index 000000000..c4f6d8264 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-simulations/recipe.yaml @@ -0,0 +1,52 @@ +package: + name: ros-noetic-turtlebot3-simulations + version: 1.3.2 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3_simulations-release.git + git_rev: release/noetic/turtlebot3_simulations/1.3.2-2 + folder: ros-noetic-turtlebot3-simulations/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-turtlebot3-fake + - ros-noetic-turtlebot3-gazebo + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3-slam/bld_catkin.bat b/recipes/ros-noetic-turtlebot3-slam/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-slam/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-slam/build_catkin.sh b/recipes/ros-noetic-turtlebot3-slam/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-slam/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3-slam/recipe.yaml b/recipes/ros-noetic-turtlebot3-slam/recipe.yaml new file mode 100644 index 000000000..6443e9a61 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3-slam/recipe.yaml @@ -0,0 +1,55 @@ +package: + name: ros-noetic-turtlebot3-slam + version: 1.2.5 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3-release.git + git_rev: release/noetic/turtlebot3_slam/1.2.5-1 + folder: ros-noetic-turtlebot3-slam/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-roscpp + - ros-noetic-sensor-msgs + - ros-noetic-turtlebot3-bringup + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-turtlebot3/bld_catkin.bat b/recipes/ros-noetic-turtlebot3/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3/build_catkin.sh b/recipes/ros-noetic-turtlebot3/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-turtlebot3/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-turtlebot3/recipe.yaml b/recipes/ros-noetic-turtlebot3/recipe.yaml new file mode 100644 index 000000000..fce6b4493 --- /dev/null +++ b/recipes/ros-noetic-turtlebot3/recipe.yaml @@ -0,0 +1,56 @@ +package: + name: ros-noetic-turtlebot3 + version: 1.2.5 +source: + git_url: https://github.com/ROBOTIS-GIT-release/turtlebot3-release.git + git_rev: release/noetic/turtlebot3/1.2.5-1 + folder: ros-noetic-turtlebot3/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-turtlebot3-bringup + - ros-noetic-turtlebot3-description + - ros-noetic-turtlebot3-example + - ros-noetic-turtlebot3-navigation + - ros-noetic-turtlebot3-slam + - ros-noetic-turtlebot3-teleop + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-urdf-sim-tutorial/bld_catkin.bat b/recipes/ros-noetic-urdf-sim-tutorial/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-urdf-sim-tutorial/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-urdf-sim-tutorial/build_catkin.sh b/recipes/ros-noetic-urdf-sim-tutorial/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-urdf-sim-tutorial/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-urdf-sim-tutorial/recipe.yaml b/recipes/ros-noetic-urdf-sim-tutorial/recipe.yaml new file mode 100644 index 000000000..b037e4a21 --- /dev/null +++ b/recipes/ros-noetic-urdf-sim-tutorial/recipe.yaml @@ -0,0 +1,72 @@ +package: + name: ros-noetic-urdf-sim-tutorial + version: 0.5.1 +source: + git_url: https://github.com/ros-gbp/urdf_sim_tutorial-release.git + git_rev: release/noetic/urdf_sim_tutorial/0.5.1-1 + folder: ros-noetic-urdf-sim-tutorial/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-controller-manager + - ros-noetic-diff-drive-controller + - ros-noetic-gazebo-ros + - ros-noetic-gazebo-ros-control + - ros-noetic-joint-state-controller + - ros-noetic-position-controllers + - ros-noetic-robot-state-publisher + - ros-noetic-rqt-robot-steering + - ros-noetic-rviz + - ros-noetic-urdf-tutorial + - ros-noetic-xacro + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-controller-manager + - ros-noetic-diff-drive-controller + - ros-noetic-gazebo-ros + - ros-noetic-gazebo-ros-control + - ros-noetic-joint-state-controller + - ros-noetic-position-controllers + - ros-noetic-robot-state-publisher + - ros-noetic-rqt-robot-steering + - ros-noetic-rviz + - ros-noetic-urdf-tutorial + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-urdf-tutorial/bld_catkin.bat b/recipes/ros-noetic-urdf-tutorial/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-urdf-tutorial/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-urdf-tutorial/build_catkin.sh b/recipes/ros-noetic-urdf-tutorial/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-urdf-tutorial/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-urdf-tutorial/recipe.yaml b/recipes/ros-noetic-urdf-tutorial/recipe.yaml new file mode 100644 index 000000000..f3e084be1 --- /dev/null +++ b/recipes/ros-noetic-urdf-tutorial/recipe.yaml @@ -0,0 +1,61 @@ +package: + name: ros-noetic-urdf-tutorial + version: 0.5.0 +source: + git_url: https://github.com/ros-gbp/urdf_tutorial-release.git + git_rev: release/noetic/urdf_tutorial/0.5.0-1 + folder: ros-noetic-urdf-tutorial/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-joint-state-publisher + - ros-noetic-joint-state-publisher-gui + - ros-noetic-robot-state-publisher + - ros-noetic-roslaunch + - ros-noetic-rviz + - ros-noetic-xacro + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-joint-state-publisher + - ros-noetic-joint-state-publisher-gui + - ros-noetic-robot-state-publisher + - ros-noetic-rviz + - ros-noetic-xacro + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-velocity-controllers/bld_catkin.bat b/recipes/ros-noetic-velocity-controllers/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-velocity-controllers/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-velocity-controllers/build_catkin.sh b/recipes/ros-noetic-velocity-controllers/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-velocity-controllers/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-velocity-controllers/recipe.yaml b/recipes/ros-noetic-velocity-controllers/recipe.yaml new file mode 100644 index 000000000..23a1f2f69 --- /dev/null +++ b/recipes/ros-noetic-velocity-controllers/recipe.yaml @@ -0,0 +1,70 @@ +package: + name: ros-noetic-velocity-controllers + version: 0.21.2 +source: + git_url: https://github.com/ros-gbp/ros_controllers-release.git + git_rev: release/noetic/velocity_controllers/0.21.2-1 + folder: ros-noetic-velocity-controllers/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-angles + - ros-noetic-catkin + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-pluginlib + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-urdf + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-control-msgs + - ros-noetic-control-toolbox + - ros-noetic-controller-interface + - ros-noetic-forward-command-controller + - ros-noetic-hardware-interface + - ros-noetic-realtime-tools + - ros-noetic-roscpp + - ros-noetic-std-msgs + - ros-noetic-urdf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-vision-opencv/bld_catkin.bat b/recipes/ros-noetic-vision-opencv/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-vision-opencv/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-vision-opencv/build_catkin.sh b/recipes/ros-noetic-vision-opencv/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-vision-opencv/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-vision-opencv/recipe.yaml b/recipes/ros-noetic-vision-opencv/recipe.yaml new file mode 100644 index 000000000..da7871fff --- /dev/null +++ b/recipes/ros-noetic-vision-opencv/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-vision-opencv + version: 1.16.2 +source: + git_url: https://github.com/ros-gbp/vision_opencv-release.git + git_rev: release/noetic/vision_opencv/1.16.2-1 + folder: ros-noetic-vision-opencv/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-cv-bridge + - ros-noetic-image-geometry + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-cv-bridge + - ros-noetic-image-geometry + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-visualization-tutorials/bld_catkin.bat b/recipes/ros-noetic-visualization-tutorials/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-visualization-tutorials/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-visualization-tutorials/build_catkin.sh b/recipes/ros-noetic-visualization-tutorials/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-visualization-tutorials/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-visualization-tutorials/recipe.yaml b/recipes/ros-noetic-visualization-tutorials/recipe.yaml new file mode 100644 index 000000000..c061c9561 --- /dev/null +++ b/recipes/ros-noetic-visualization-tutorials/recipe.yaml @@ -0,0 +1,60 @@ +package: + name: ros-noetic-visualization-tutorials + version: 0.11.0 +source: + git_url: https://github.com/ros-gbp/visualization_tutorials-release.git + git_rev: release/noetic/visualization_tutorials/0.11.0-1 + folder: ros-noetic-visualization-tutorials/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-interactive-marker-tutorials + - ros-noetic-librviz-tutorial + - ros-noetic-rviz-plugin-tutorials + - ros-noetic-rviz-python-tutorial + - ros-noetic-visualization-marker-tutorials + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-interactive-marker-tutorials + - ros-noetic-librviz-tutorial + - ros-noetic-rviz-plugin-tutorials + - ros-noetic-rviz-python-tutorial + - ros-noetic-visualization-marker-tutorials + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-viz/bld_catkin.bat b/recipes/ros-noetic-viz/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-viz/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-viz/build_catkin.sh b/recipes/ros-noetic-viz/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-viz/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-viz/recipe.yaml b/recipes/ros-noetic-viz/recipe.yaml new file mode 100644 index 000000000..e6eed0cb1 --- /dev/null +++ b/recipes/ros-noetic-viz/recipe.yaml @@ -0,0 +1,54 @@ +package: + name: ros-noetic-viz + version: 1.5.0 +source: + git_url: https://github.com/ros-gbp/metapackages-release.git + git_rev: release/noetic/viz/1.5.0-1 + folder: ros-noetic-viz/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + run: + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-ros-base + - ros-noetic-rqt-common-plugins + - ros-noetic-rqt-robot-plugins + - ros-noetic-rviz + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-noetic-warehouse-ros/bld_catkin.bat b/recipes/ros-noetic-warehouse-ros/bld_catkin.bat new file mode 100644 index 000000000..f2d597637 --- /dev/null +++ b/recipes/ros-noetic-warehouse-ros/bld_catkin.bat @@ -0,0 +1,80 @@ +:: 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-noetic-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" ^ + -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-noetic-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-noetic-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-noetic-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-noetic-warehouse-ros/build_catkin.sh b/recipes/ros-noetic-warehouse-ros/build_catkin.sh new file mode 100644 index 000000000..4dd855a8c --- /dev/null +++ b/recipes/ros-noetic-warehouse-ros/build_catkin.sh @@ -0,0 +1,119 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-noetic-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 + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || 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 + +cmake ${CMAKE_ARGS} -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 \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$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 "Ninja" \ + $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-noetic-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-noetic-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-noetic-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-noetic-warehouse-ros/recipe.yaml b/recipes/ros-noetic-warehouse-ros/recipe.yaml new file mode 100644 index 000000000..d04b81ae7 --- /dev/null +++ b/recipes/ros-noetic-warehouse-ros/recipe.yaml @@ -0,0 +1,66 @@ +package: + name: ros-noetic-warehouse-ros + version: 0.9.5 +source: + git_url: https://github.com/ros-gbp/warehouse_ros-release.git + git_rev: release/noetic/warehouse_ros/0.9.5-1 + folder: ros-noetic-warehouse-ros/src/work + +build: + script: + sel(win): bld_catkin.bat + sel(unix): build_catkin.sh + number: 8 +about: + home: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - "{{ compiler('cxx') }}" + - "{{ compiler('c') }}" + - sel(linux64): sysroot_linux-64 2.17 + - ninja + - setuptools + - sel(unix): make + - sel(unix): coreutils + - sel(osx): tapi + - sel(build_platform != target_platform): pkg-config + - cmake + - cython + - sel(build_platform != target_platform): python + - sel(build_platform != target_platform): cross-python_{{ target_platform }} + - sel(build_platform != target_platform): numpy + host: + - boost + - gtest + - numpy + - pip + - sel(build_platform == target_platform): pkg-config + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-catkin + - ros-noetic-geometry-msgs + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostest + - ros-noetic-rostime + - ros-noetic-std-msgs + - ros-noetic-tf + run: + - boost + - python + - ros-distro-mutex 0.5 noetic + - ros-noetic-geometry-msgs + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rostime + - ros-noetic-std-msgs + - ros-noetic-tf + - sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/vinca.yaml b/vinca.yaml new file mode 100644 index 000000000..60cc741ce --- /dev/null +++ b/vinca.yaml @@ -0,0 +1,150 @@ +ros_distro: noetic +mutex_package: ros-distro-mutex 0.5 noetic + +# mapping for package keys +conda_index: + - robostack.yaml + - packages-ignore.yaml + +build_number: 8 + +# Ignore all dependencies of selected packages +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: + # - rviz + - eigenpy + - hpp-fcl + - pinocchio + +packages_remove_from_deps: + - stage-ros + - stage + + # sbcl is not available for osx-arm64 + # - roslisp + +skip_existing: + # - https://conda.anaconda.org/robostack/ + - https://conda.anaconda.org/robostack-staging/ + # - /Users/fischert/mambaforge/envs/devenv/conda-bld + +# This list contains lots of commented-out package names. That is okay. +# Not all packages need to be rebuilt with every pull request. +# Do not be afraid if you see a package commented out after some time - it just means it is not being built now. +# For sure it will be uncommented and built with next full rebuild. Full rebuilds happen occasionally (few times a year). +# The list of all maintained packages is at https://robostack.github.io/noetic.html . +packages_select_by_deps: + ## + # TODO OSX-ARM64 + ## + - rospack + - microstrain-inertial-driver + - microstrain-inertial-msgs + - octomap-ros + - ackermann-msgs + - fake-localization + - realsense2-description + + - rviz + - python-qt-binding + - qt-gui-cpp + - actionlib + - ros-babel-fish + - ros-babel-fish-test-msgs + - moveit_visual_tools + - rviz_visual_tools + - rgbd-launch + + - plotjuggler + - plotjuggler_ros + + - sick-tim + - python-qt-binding + - qt-gui + - rqt-gui + - rqt-gui-py + - rqt-gui-cpp + - qt-gui-cpp + - rqt-ez-publisher + - pcl-ros + - pcl-conversions + - roslisp + # - qt-gui-cpp # needs manual build + # - rviz # needs manual build + - desktop + - perception + - moveit + # - eigenpy # needs manual build + - turtlebot3 + - turtlebot3-simulations + - desktop-full + - realsense2_camera + - realsense2_description + - kdl-parser-py + - imu-tools + - rqt-controller-manager + - dynamixel-sdk + - hector-map-tools + - hector-nav-msgs + - hector-trajectory-server + - radar-msgs + - geometry2 + - tf2 + - tf2_bullet + - tf2_eigen + - tf2_geometry_msgs + - tf2_kdl + - tf2_msgs + - tf2_py + - tf2_ros + - tf2_sensor_msgs + - tf2_tools + - gps-common + - rosbridge_suite + - sound-play + - pid + - teleop-twist-keyboard + - laser-proc + - rosserial-arduino + - rosserial-client + - navigation + - ros-controllers + + # # # For jackal + # - gazebo-dev + # - hector-gazebo-plugins + # - gazebo-ros + # - gazebo-ros-control + # - gazebo-plugins + # - lms1xx + # - controller-manager + # - interactive_marker_twist_server + # - diff-drive-controller + # - joint-state-controller + # - joy + # - robot-localization + # - teleop-twist-joy + # - twist-mux + # - pointgrey-camera-description + # - nmea-msgs + # - geometry-msgs + # - nmea-navsat-driver + # - rosserial-server + # - imu-filter-madgwick + # - rosserial-python + # - gmapping + # - velodyne-description + # - velodyne-simulator + # - effort-controllers + # - velocity-controllers + # - teb-local-planner + # - slam-toolbox + # - turtlebot3-teleop + # - move-base + +patch_dir: patch diff --git a/vinca_e69231e952.json b/vinca_e69231e952.json new file mode 100644 index 000000000..a34320190 --- /dev/null +++ b/vinca_e69231e952.json @@ -0,0 +1 @@ +{"packages":{"ros-humble-rosbag2-storage-mcap-testdata-0.6.0-py39h9036ba5_1.tar.bz2":{"build_number":1,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=13.0.1","numpy >=1.19.5,<2.0a0","python 3.9.*","python_abi 3.9.*","ros-humble-ros-workspace","ros2-distro-mutex 0.1.*","ros2-distro-mutex 0.1.*"],"build":"py39h9036ba5_1","timestamp":1670449566754,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d48e0636c826f64d6e8dcdc8e75eebc4","name":"ros-humble-rosbag2-storage-mcap-testdata","requires":[],"size":67773,"version":"0.6.0","binstar":{"package_id":"639106e8ead2dcc8c2056177","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ded3414a88611950fbc6e1e6b63b5c9eb2d709e5cfec4611cc3ce6a71521f648"},"ros-humble-rosbag2-storage-mcap-testdata-0.6.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807806448,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"736cbcb9465d69c8f1372be7a785c872","name":"ros-humble-rosbag2-storage-mcap-testdata","requires":[],"size":70058,"version":"0.6.0","binstar":{"package_id":"639106e8ead2dcc8c2056177","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"62f9f9c49c0a9a6d98cd70070eacb24f53af675f07565521a82bc90d765f6a67"},"ros-humble-rosbag2-storage-mcap-testdata-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675735844590,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c2531da886e6f947d54ae04f9e4d78ab","name":"ros-humble-rosbag2-storage-mcap-testdata","requires":[],"size":70565,"version":"0.15.4","binstar":{"package_id":"639106e8ead2dcc8c2056177","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3bc1120212d221f02a771037ae7f77d7f66b4991576fd6ae38fc0001fa8cda76"},"ros-humble-mcap-vendor-0.6.0-py39hb4831bc_1.tar.bz2":{"build_number":1,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=13.0.1","python 3.9.*","python_abi 3.9.*","ros-humble-ros-workspace","ros-humble-zstd-vendor","ros2-distro-mutex 0.1.*","ros2-distro-mutex 0.1.*"],"build":"py39hb4831bc_1","timestamp":1670449757557,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d122d3d41935524b84e66d927c54e562","name":"ros-humble-mcap-vendor","requires":[],"size":235164,"version":"0.6.0","binstar":{"package_id":"639106ea6a03c9fad27174c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f1b94f6170bf55113dfe6d9fc9870987aa0f85f5db770a5c7fa6eea88431f75e"},"ros-humble-mcap-vendor-0.6.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-zstd-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670543481500,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"37552ef2885b0debfdfeda9d6c6c4508","name":"ros-humble-mcap-vendor","requires":[],"size":234294,"version":"0.6.0","binstar":{"package_id":"639106ea6a03c9fad27174c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9a0ae370562eb36b01ffa4d2fdc01d81a6efcc913c4bf1387a80b8a5e1ccc0b6"},"ros-humble-mcap-vendor-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-zstd-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641543319,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2d8fc4a709611014565dfc7cd76b4f25","name":"ros-humble-mcap-vendor","requires":[],"size":223496,"version":"0.15.4","binstar":{"package_id":"639106ea6a03c9fad27174c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8af9e2243a655fca6eec5d6178a99078ab8606ce3dd5e6e9dbd23849650424fa"},"ros-humble-nav2-collision-monitor-1.1.3-py39hb4831bc_1.tar.bz2":{"build_number":1,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=13.0.1","python 3.9.*","python_abi 3.9.*","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.1.*","ros2-distro-mutex 0.1.*"],"build":"py39hb4831bc_1","timestamp":1670449258880,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e140d7b9499b53059bbd71b7b62b5dcd","name":"ros-humble-nav2-collision-monitor","requires":[],"size":279777,"version":"1.1.3","binstar":{"package_id":"6391072ea2b7121008daae43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fa7e2c810356c969edb8ed8980364575f3e0e82a4ac3a4b4ae4404ea068de61b"},"ros-humble-nav2-collision-monitor-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840098267,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"afe45e48c0943642694599b814d1de4a","name":"ros-humble-nav2-collision-monitor","requires":[],"size":282688,"version":"1.1.3","binstar":{"package_id":"6391072ea2b7121008daae43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e49a4be915143a79637ad44692a396a3589c4b2cb44847bbb42a43f59b952c9c"},"ros-humble-nav2-collision-monitor-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847198490,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb5a8e18463afe9b8a9d0dda3c0b0216","name":"ros-humble-nav2-collision-monitor","requires":[],"size":281647,"version":"1.1.5","binstar":{"package_id":"6391072ea2b7121008daae43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"994b353a4099bfc6abdc6ab39c44d42ae35314827f82d5003ddaa5cb77865ea1"},"ros-humble-tl-expected-1.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670805216205,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a3e40a8bfd528f19cd2034a35de81384","name":"ros-humble-tl-expected","requires":[],"size":21680,"version":"1.0.2","binstar":{"package_id":"6391073054e9ace854461cd0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"56232c44b8630e79dadc6e0f5fb0be68b895a9a69406f00327ef4de339355d7a"},"ros-humble-tl-expected-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640877138,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"044e5e46d42e3c42e294ccaf2828380f","name":"ros-humble-tl-expected","requires":[],"size":21990,"version":"1.0.2","binstar":{"package_id":"6391073054e9ace854461cd0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3f80ae17b1479b08534219429cc30f13e7788f6227bb3ea768461eab8240f294"},"ros-humble-ros-gz-bridge-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-msgs8 >=8.7.0,<9.0a0","libignition-transport11 >=11.3.2,<12.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-gz-interfaces","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-msgs","ros-humble-trajectory-msgs","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823383485,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f6d2139611dbdbbf57808047e39aee2","name":"ros-humble-ros-gz-bridge","requires":[],"size":1971563,"version":"0.244.9","binstar":{"package_id":"6391074c6d07f25db92866c7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"103107e4e583bdbb5b9515459e42150e9cc519a79cc9fcb81af10792194cc2ac"},"ros-humble-ros-gz-bridge-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-msgs8 >=8.7.0,<9.0a0","libignition-transport11 >=11.3.2,<12.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-gz-interfaces","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-msgs","ros-humble-trajectory-msgs","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756320574,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6d04c29c449bae92b9dc846daf290aa","name":"ros-humble-ros-gz-bridge","requires":[],"size":1948370,"version":"0.244.9","binstar":{"package_id":"6391074c6d07f25db92866c7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"71ab0161bf71430a257fbbb55217d982daafe0c3a0d8e5ca436befd37639fb6a"},"ros-humble-sdformat-urdf-1.0.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libsdformat12 >=12.6.0,<13.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-ros","ros-humble-pluginlib","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-urdf-parser-plugin","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","urdfdom_headers"],"build":"py310hd751b12_2","timestamp":1670560316802,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5d7353dc501e6c1345e9e674d3d3f43b","name":"ros-humble-sdformat-urdf","requires":[],"size":83159,"version":"1.0.1","binstar":{"package_id":"6391075046bec18b89344e01","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb8a53f1e69cfd9e5b3ef0a8dad20ccddb319e8e0ab46a62a88b8a5d0700b2d3"},"ros-humble-sdformat-urdf-1.0.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libsdformat12 >=12.6.0,<13.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-ros","ros-humble-pluginlib","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-urdf-parser-plugin","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","urdfdom_headers"],"build":"py310h927cc32_3","timestamp":1675734473641,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b949dfff0b2a5b39f60b82140fdcbfd3","name":"ros-humble-sdformat-urdf","requires":[],"size":86483,"version":"1.0.1","binstar":{"package_id":"6391075046bec18b89344e01","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c6c0f146e072c65158fb7913cb368597cfabb0455d8fb2228313a4836da1a01"},"ros-humble-ament-cmake-clang-format-0.12.4-py39hb4831bc_1.tar.bz2":{"build_number":1,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=13.0.1","python 3.9.*","python_abi 3.9.*","ros-humble-ament-clang-format","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.1.*","ros2-distro-mutex 0.1.*"],"build":"py39hb4831bc_1","timestamp":1670449365329,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eac736df944c4ea6eca277738b7ce5ff","name":"ros-humble-ament-cmake-clang-format","requires":[],"size":10655,"version":"0.12.4","binstar":{"package_id":"639107746a03c9fad271c706","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"09601ab7cd2bad15bab1cdba04316695de093a62c15822f98089b5e9cb178ceb"},"ros-humble-ament-cmake-clang-format-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-clang-format","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544626536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2bcac9ad1028b35355694853f524df14","name":"ros-humble-ament-cmake-clang-format","requires":[],"size":10654,"version":"0.12.4","binstar":{"package_id":"639107746a03c9fad271c706","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3f29ef4f6b55d317c629c452eecfe09983b24b79ceaa8dac897f3ea999cb5f2f"},"ros-humble-ament-cmake-clang-format-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-clang-format","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642446495,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"438aff8ed6a654890b2a6b56143f1c28","name":"ros-humble-ament-cmake-clang-format","requires":[],"size":12259,"version":"0.12.5","binstar":{"package_id":"639107746a03c9fad271c706","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d4ee14fe4c4fd48b10d846ca522dec1558b238c2bcf1196c9eb0c1b0548aa58"},"ros-humble-octomap-1.9.8-h0f4a31f_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["octomap 1.9.*"],"build":"h0f4a31f_2","timestamp":1670535489885,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1fa8ce26784b29a0dece7e18cd6b95fb","name":"ros-humble-octomap","requires":[],"size":2952,"version":"1.9.8","binstar":{"package_id":"639258fd2dd70620554cbdaa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a68a75173f1df29e0a9570533d12bd06af210f4a228b61343ccf537749ec841"},"ros-humble-ament-cmake-core-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","cmake","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-package","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670535838981,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ac7c20766f9413a3e705365a2e567672","name":"ros-humble-ament-cmake-core","requires":[],"size":30666,"version":"1.3.3","binstar":{"package_id":"639258fea2b7121008e600b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"723f67985a47c0b79c0dd9b9936f3b322e12fbcbfa51d1a37cb9964e5924a326"},"ros-humble-ament-cmake-core-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","cmake","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-package","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675631327982,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"828274ed57a91758f6a97abd961b93ae","name":"ros-humble-ament-cmake-core","requires":[],"size":32156,"version":"1.3.3","binstar":{"package_id":"639258fea2b7121008e600b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e2ce4a9108628b73392591abe3409ca703404d152440209162c3a058ddf40411"},"ros-humble-ament-package-0.14.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","importlib_resources","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","setuptools"],"build":"py310hd751b12_2","timestamp":1670535785062,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"40553209f24171680091300111bab1ff","name":"ros-humble-ament-package","requires":[],"size":31918,"version":"0.14.0","binstar":{"package_id":"639258ff2dd70620554cbe15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0e8e8a1923b99994199d3b4b7d040c4a9b47c0f54718311442ece339e0addade"},"ros-humble-ament-package-0.14.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","importlib_resources","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","setuptools"],"build":"py310h927cc32_3","timestamp":1675631226577,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"66a67a135aadc6eb670c79df7c472b92","name":"ros-humble-ament-package","requires":[],"size":27477,"version":"0.14.0","binstar":{"package_id":"639258ff2dd70620554cbe15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5ec75241b828b8132956659f8e84f45b960b247adf6351d567e6f784d32295fb"},"ros2-distro-mutex-0.2.0-humble.tar.bz2":{"constrains":["boost-cpp 1.78.*","pcl 1.12.*","gazebo 11.*","ogre 1.12.*","libpqxx 6.*","setuptools 61.0.0*"],"build_number":0,"has_prefix":false,"machine":"arm64","platform":"osx","depends":[],"build":"humble","timestamp":1670535479122,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8898939848e45334b4c069e0a40424bb","name":"ros2-distro-mutex","requires":[],"size":3423,"version":"0.2.0","binstar":{"package_id":"639259014f66fd116f323fb9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3a42fe83162e3f7ef9b839aff1134572d09339873107ec641ffe46cdd018fd67"},"ros2-distro-mutex-0.3.0-humble.tar.bz2":{"constrains":["boost-cpp 1.78.*","pcl 1.12.*","gazebo 11.*","libpqxx 6.*","setuptools 61.0.0*"],"build_number":0,"has_prefix":false,"machine":"arm64","platform":"osx","depends":[],"build":"humble","timestamp":1675631069515,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5bdb8f182b40aa6448d77864ec16eef5","name":"ros2-distro-mutex","requires":[],"size":3635,"version":"0.3.0","binstar":{"package_id":"639259014f66fd116f323fb9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"34bfb3e676bdfe22fd682ed19ee8a9f03953483d07a211f4d37cdd4bb2aeb30d"},"ros-humble-ros-workspace-1.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1671188985941,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0b56ceb979de4d14473be84eba3c7304","name":"ros-humble-ros-workspace","requires":[],"size":22679,"version":"1.0.2","binstar":{"package_id":"639259f84f66fd116f32c659","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e30454dee80ea8ba90893fc130e4abc2983770bfe8f8a039b15908ce27c9fb95"},"ros-humble-ros-workspace-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675631912192,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"09e9fab934e62d76972aa602b0429102","name":"ros-humble-ros-workspace","requires":[],"size":23499,"version":"1.0.2","binstar":{"package_id":"639259f84f66fd116f32c659","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e31d71913b4bffecd456ee6dcc340a07b7dc259ba7cede75afde70ba66522146"},"ros-humble-ros-environment-3.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536330184,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8d06237491ff27db17747884c2844996","name":"ros-humble-ros-environment","requires":[],"size":9693,"version":"3.2.2","binstar":{"package_id":"639259f946bec18b89d119d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"68a9a140dc81e3d88dcb9330b015dcab202a0e7fdde54d4f54818a089366f2ae"},"ros-humble-ros-environment-3.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675632002158,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f3363d70548ff5d755425b8b30996a0d","name":"ros-humble-ros-environment","requires":[],"size":11094,"version":"3.2.2","binstar":{"package_id":"639259f946bec18b89d119d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ae8e8dc2b34d147ebf1bdbfb057c8aa0be0be6da03c3804a09e3abdd2137945e"},"ros-humble-ament-cmake-export-libraries-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537633548,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3b00bfc91cb8fe17c57f38d6212b1bb5","name":"ros-humble-ament-cmake-export-libraries","requires":[],"size":12385,"version":"1.3.3","binstar":{"package_id":"63925ae16a03c9fad241ace0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a3cc987462b6e477f5dec288f1fca45446edd44318012c16cf48863f30e63fe"},"ros-humble-ament-cmake-export-libraries-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634576707,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5e3bd22d5078ed760ed75c9e2b780481","name":"ros-humble-ament-cmake-export-libraries","requires":[],"size":13879,"version":"1.3.3","binstar":{"package_id":"63925ae16a03c9fad241ace0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ff8ddf06d5011fd7defff303869e6a47603271bf699e901c18e6f362ca65a614"},"ros-humble-ament-cmake-export-link-flags-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537780423,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"809cc5503f0e80e6ccd18cee9927ea9d","name":"ros-humble-ament-cmake-export-link-flags","requires":[],"size":10315,"version":"1.3.3","binstar":{"package_id":"63925ae16a03c9fad241ad01","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d5724dfd291c327fc58f18b2d661e4576973a99dd9ce51420f8a1f61a5bc8cf"},"ros-humble-ament-cmake-export-link-flags-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634756412,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb492c586ca86971b834da63a39ecf66","name":"ros-humble-ament-cmake-export-link-flags","requires":[],"size":11761,"version":"1.3.3","binstar":{"package_id":"63925ae16a03c9fad241ad01","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"adf948ce76d953e2b152eb5886d768d5921cd85f73259ae580ed14f094130fc1"},"ros-humble-ament-cmake-version-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537703223,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"101f35d361b01b7b0b05ad3f6cd640bb","name":"ros-humble-ament-cmake-version","requires":[],"size":10106,"version":"1.3.3","binstar":{"package_id":"63925ae2bbbc2b1e961cd1d9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2e6322b3867f561cbdf81f9db8db2f3d8e061ec2c3d65c98974a66d7517f1108"},"ros-humble-ament-cmake-version-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634664067,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"01417c8a70923848fb26ba3b86635b47","name":"ros-humble-ament-cmake-version","requires":[],"size":11623,"version":"1.3.3","binstar":{"package_id":"63925ae2bbbc2b1e961cd1d9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a4ba4e9528a9270353f599859a4b7cc1c3b9dba6ab215caa347d1cb54ff1511"},"ros-humble-ament-cmake-export-definitions-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537956737,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5b351b36557e0dc72708b44878e47e40","name":"ros-humble-ament-cmake-export-definitions","requires":[],"size":10360,"version":"1.3.3","binstar":{"package_id":"63925ae32dd70620554d8c89","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"964eb0d67914b9e81e73fe0616c786515f54562851f9e8c071aeaad9f351861b"},"ros-humble-ament-cmake-export-definitions-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634936918,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8452a95fdd6295de7280d900df585ff1","name":"ros-humble-ament-cmake-export-definitions","requires":[],"size":11848,"version":"1.3.3","binstar":{"package_id":"63925ae32dd70620554d8c89","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0ba8f47b484f747d2f6ef2cc60e71a48e2c16e0fcd5462bbb07db5eabb0f6128"},"ros-humble-ament-cmake-export-include-directories-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537862860,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"92a1964527c739dd302b6e25ec35a35c","name":"ros-humble-ament-cmake-export-include-directories","requires":[],"size":10752,"version":"1.3.3","binstar":{"package_id":"63925ae4ed6d66bf8f879836","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9eb814ae297bfc03e270e2ebf612d5214563cf64080b3afbf90e9762819ad33d"},"ros-humble-ament-cmake-export-include-directories-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634841143,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2d90a86dde379f427b4002302458b1d5","name":"ros-humble-ament-cmake-export-include-directories","requires":[],"size":12177,"version":"1.3.3","binstar":{"package_id":"63925ae4ed6d66bf8f879836","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ec3f7f6b488cd4d38632b1f69aa41629cde7e68cf41301a73f97fa01a80d065b"},"ros-humble-osrf-pycommon-2.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536895773,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6642cd81a6f4d127b10b983d98bce42","name":"ros-humble-osrf-pycommon","requires":[],"size":48419,"version":"2.0.2","binstar":{"package_id":"63925af746f81babcadd056e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4aa5dfdef0c1822b09b267484be6ee022b1b8068bba1c758a753c59299822517"},"ros-humble-osrf-pycommon-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634706036,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f5610c1a79cba443cf083c4db51fba7f","name":"ros-humble-osrf-pycommon","requires":[],"size":44946,"version":"2.0.2","binstar":{"package_id":"63925af746f81babcadd056e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d1e5627a66011de9f9a5c77d735bc31d930bfedfc58f15d97eb6f5c83b94a3b1"},"ros-humble-iceoryx-hoofs-2.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537353940,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cfd85d077aa70ce68fe92db9954300e3","name":"ros-humble-iceoryx-hoofs","requires":[],"size":255276,"version":"2.0.2","binstar":{"package_id":"63925af86a03c9fad241bd27","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3fec080ba9f75bb21009f2b3605786792d7facb266cdc70bb5d6f61916247db"},"ros-humble-iceoryx-hoofs-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675635433981,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fd45733f8a0ab66315c3182fb6d8634c","name":"ros-humble-iceoryx-hoofs","requires":[],"size":256033,"version":"2.0.2","binstar":{"package_id":"63925af86a03c9fad241bd27","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"daad07193fbcf50875b6e906d3b59d99451226474ea8704c3f8cf9f56aad6ce1"},"ros-humble-google-benchmark-vendor-0.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["benchmark","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536959822,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9211ef860c304888abf040645f962f0f","name":"ros-humble-google-benchmark-vendor","requires":[],"size":6955,"version":"0.1.1","binstar":{"package_id":"63925af9d9a997aae7076b55","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"702ac36c7f733b632bf4713a05c9642073cd632db788a972f9db36379b8a1cd1"},"ros-humble-google-benchmark-vendor-0.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["benchmark","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634789784,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b6841aadac5b8537a5d7187b6db8dfa","name":"ros-humble-google-benchmark-vendor","requires":[],"size":8416,"version":"0.1.1","binstar":{"package_id":"63925af9d9a997aae7076b55","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5889f918bd0750737d21191e23084423bfff1d28c1ea4633adac98e8c44fce24"},"ros-humble-ruckig-0.6.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537544036,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7c3d12a5d1cb71dd2a4d58df934df81","name":"ros-humble-ruckig","requires":[],"size":64946,"version":"0.6.3","binstar":{"package_id":"63925afa2dd70620554d8ea6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"75d3ac6fed2bfd80f77670836c81f96105fe2983e4f268a4666947ad6cf38bd9"},"ros-humble-ruckig-0.9.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675635656933,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"89e7bc713cc8c65a190cc8b9ef9fdc2c","name":"ros-humble-ruckig","requires":[],"size":67734,"version":"0.9.2","binstar":{"package_id":"63925afa2dd70620554d8ea6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"58f8c20e56cfe3ff0a77b0057fe0a16ebfc2c2f94e16d5a14355f68ef8dd3513"},"ros-humble-ament-pycodestyle-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pycodestyle","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536778522,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c27b6eed69ef98e85d81a7cb1589418f","name":"ros-humble-ament-pycodestyle","requires":[],"size":11935,"version":"0.12.4","binstar":{"package_id":"63925afa54e9ace854b6da1e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57791e550721a44ea03428774c518aa361e847204e893f922df480b0700d9f61"},"ros-humble-ament-pycodestyle-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pycodestyle","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634543976,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9969129053466f3ac3da603946d2f837","name":"ros-humble-ament-pycodestyle","requires":[],"size":12923,"version":"0.12.5","binstar":{"package_id":"63925afa54e9ace854b6da1e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"232d2e5b4822d166c78fe84c8509ae0be772e4d4a06ce75ec4489ef24fb2db99"},"ros-humble-test-interface-files-0.9.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537151544,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ede6ad703ad79dcd12eb174b8586d4f5","name":"ros-humble-test-interface-files","requires":[],"size":12289,"version":"0.9.1","binstar":{"package_id":"63925afb2b3749bdb84ce1bb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"31fbe6b5cd7fdff682b7b24f52ae535e5b0607794367e1ddfa47638f18159dfc"},"ros-humble-test-interface-files-0.9.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675635187897,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7831d33b2b9c632e963547246f9d4fa5","name":"ros-humble-test-interface-files","requires":[],"size":13714,"version":"0.9.1","binstar":{"package_id":"63925afb2b3749bdb84ce1bb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d22add0cf9b391af1b25f9f9686ca9b447fac83b934a4259fad227b4ecee46a3"},"ros-humble-ament-cppcheck-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["cppcheck","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536834792,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4dcc57905dad66440bc258b954cebbda","name":"ros-humble-ament-cppcheck","requires":[],"size":15268,"version":"0.12.4","binstar":{"package_id":"63925afc2dd70620554d8eed","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f5c5b8f51ee1e20feb188ac150b7d926a79fabf541dfd90260bbc5463f1dba00"},"ros-humble-ament-cppcheck-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["cppcheck","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634622803,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8195dc4ca094ef046e109846948c7738","name":"ros-humble-ament-cppcheck","requires":[],"size":16167,"version":"0.12.5","binstar":{"package_id":"63925afc2dd70620554d8eed","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"26afb45244c0741cca2ce563318fb013af099b8ac861e1aae50783f8d9faa7cf"},"ros-humble-urdfdom-headers-1.0.6-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537416245,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9b7d14d70d288eb50918843a10ad669c","name":"ros-humble-urdfdom-headers","requires":[],"size":18874,"version":"1.0.6","binstar":{"package_id":"63925afc4f66fd116f33b7a5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e2e0a03c02ae469a723b2a554e9a3531a746ee5a80f581da6ee6ef72eb4bc03c"},"ros-humble-urdfdom-headers-1.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675635506069,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"af814a41a3fa4638eb69b80a94d95091","name":"ros-humble-urdfdom-headers","requires":[],"size":20469,"version":"1.0.6","binstar":{"package_id":"63925afc4f66fd116f33b7a5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a33df31d99b3d94cb9235bff5c7816f4d824045adab49acd171881c77a1d0769"},"ros-humble-osrf-testing-tools-cpp-1.5.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537097610,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1e630a1e82ffd0ec5482691208e8e5d1","name":"ros-humble-osrf-testing-tools-cpp","requires":[],"size":4316847,"version":"1.5.2","binstar":{"package_id":"63925afd2dd70620554d94b7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ec0e59c47a518bd2d22c52e91b12317a4081b96d118d76d119253f17e5adfd7"},"ros-humble-osrf-testing-tools-cpp-1.5.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634938940,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b534e3b7d59469ee3558cfb8c2072fb","name":"ros-humble-osrf-testing-tools-cpp","requires":[],"size":4316757,"version":"1.5.2","binstar":{"package_id":"63925afd2dd70620554d94b7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"889402fb906a788484c66dd62235da8289d7bd9de9699898c5a75ae2ccbb68aa"},"ros-humble-fastcdr-1.0.24-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537235251,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"da36595f88f1822715730f5fa0675ac3","name":"ros-humble-fastcdr","requires":[],"size":52391,"version":"1.0.24","binstar":{"package_id":"63925afe6e0eca100b409c46","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c8cc6513aee5c8a0798cd74ef8c42ed09db5e1adc8c0372bff9f1b57adfcb7aa"},"ros-humble-fastcdr-1.0.24-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675635292710,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"335c4380cfdd09075cc4e27b8c86d311","name":"ros-humble-fastcdr","requires":[],"size":54071,"version":"1.0.24","binstar":{"package_id":"63925afe6e0eca100b409c46","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3bd42be072db7a9447d876a8d91dcd7812cf7148f24ad6e7c693d39e0acf3cc"},"ros-humble-ament-lint-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536835627,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a42ab3107f0081256313fe781e035615","name":"ros-humble-ament-lint","requires":[],"size":7390,"version":"0.12.4","binstar":{"package_id":"63925b1246f81babcadd1213","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"12b978da39a524aba90ecfc38e0618b0c7844ddf6b65703b31a4b1548c6073ce"},"ros-humble-ament-lint-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634537977,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4ca6f87634c6432fca9cdf285775ce61","name":"ros-humble-ament-lint","requires":[],"size":8057,"version":"0.12.5","binstar":{"package_id":"63925b1246f81babcadd1213","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b6032b52bf8d422e8bbb28f41ad54ffe1aa6a6f3ca5c4cf9c1311f1aecaf41d0"},"ros-humble-ament-cmake-libraries-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537043605,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"349931ece9aba48f32667d00bfde48a0","name":"ros-humble-ament-cmake-libraries","requires":[],"size":10598,"version":"1.3.3","binstar":{"package_id":"63925b146643907e3b59af63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"372ba8d833054215a5f5da9db6967f6a8766d063e98b72d89b971b6e484afcde"},"ros-humble-ament-cmake-libraries-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634793932,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"132a5150c4f0bfb6c568452eb1380f27","name":"ros-humble-ament-cmake-libraries","requires":[],"size":12121,"version":"1.3.3","binstar":{"package_id":"63925b146643907e3b59af63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"982288a8027eade5d4fd8890cb9924b784e9ffa1aee35c512a1f119450c45c09"},"ros-humble-ament-cmake-python-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536909542,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cb964e2e8f548e1b5a227b7c4d4dd2ad","name":"ros-humble-ament-cmake-python","requires":[],"size":12534,"version":"1.3.3","binstar":{"package_id":"63925b1513f4c7e7c543874f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f2060b6aebee2f338ebf9d2ec10ea88a71e166f4c592ed89fa9d7329eb98c45d"},"ros-humble-ament-cmake-python-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634625297,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"69a2f02a439a04fe7224856f05001100","name":"ros-humble-ament-cmake-python","requires":[],"size":14024,"version":"1.3.3","binstar":{"package_id":"63925b1513f4c7e7c543874f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb7f5fa2bf5381d239bcf8b9695c44566e30a636349aa4aed1cc84b7baf3e4cd"},"ros-humble-ament-cmake-include-directories-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670537124608,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4585eba0c750766ea6e3d4b82dc9ad99","name":"ros-humble-ament-cmake-include-directories","requires":[],"size":10239,"version":"1.3.3","binstar":{"package_id":"63925b17bbbc2b1e961cd6be","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"635a6dc6eb80f9a522201fe29ae44232edc32aa9ee9b81468f86de237199e07c"},"ros-humble-ament-cmake-include-directories-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634881971,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6e9c4a3667e1c2cbfcd3db796a5d248","name":"ros-humble-ament-cmake-include-directories","requires":[],"size":11764,"version":"1.3.3","binstar":{"package_id":"63925b17bbbc2b1e961cd6be","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"db7ab2023988df57d1107e8f9615763897f33878b67b0c713dacd8ed062b3683"},"ros-humble-gtest-vendor-1.10.9004-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670536976967,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"edf232e089c55bb8393df088ad6d4b92","name":"ros-humble-gtest-vendor","requires":[],"size":176001,"version":"1.10.9004","binstar":{"package_id":"63925b18a2b7121008e798f5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"377007abf0f90576389df301e3eadf6d64d330c08e1002fc2c26054ec80bf664"},"ros-humble-gtest-vendor-1.10.9004-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675634707046,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8d8b38541bc81f82b726d549936b040d","name":"ros-humble-gtest-vendor","requires":[],"size":177822,"version":"1.10.9004","binstar":{"package_id":"63925b18a2b7121008e798f5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5613b44890be6c058ee62740641a4a70ca8317f54afe2b43d52b82432a2f30ce"},"ros-humble-ompl-1.5.2-py310h38d66af_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","eigen","flann","libcxx >=14.0.6","ompl >=1.5.2,<1.6.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h38d66af_2","timestamp":1670538242665,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"98f57f80115cc474b5698e198f48fc36","name":"ros-humble-ompl","requires":[],"size":21841,"version":"1.5.2","binstar":{"package_id":"63925f834f66fd116f386bb2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dd1389f97ff21d37a01fb89731158328952cd0c322c797aaaa11d7c4683851fe"},"ros-humble-ompl-1.6.0-py310h67011d7_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","eigen","flann >=1.9.1,<1.9.2.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","ompl >=1.5.2,<1.6.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h67011d7_3","timestamp":1675636507814,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"daa341369b60bc8f348084aeab9b6aaf","name":"ros-humble-ompl","requires":[],"size":1973311,"version":"1.6.0","binstar":{"package_id":"63925f834f66fd116f386bb2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f063acad588697926656d769e513c1ba03a3332443bddf8de16bfd4a360cb581"},"ros-humble-sdformat-test-files-1.0.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cmake","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538340615,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f90c6feed5dfd1dc395c2cf915b48418","name":"ros-humble-sdformat-test-files","requires":[],"size":101123,"version":"1.0.1","binstar":{"package_id":"63925f886643907e3b5adc4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"43dcb5e01dab66254eaa9309a349cd7e5217fc47a3d6cac9ed18bf8626103000"},"ros-humble-sdformat-test-files-1.0.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cmake","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675636628478,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"015891ec94300cbb8dbf49a57a851550","name":"ros-humble-sdformat-test-files","requires":[],"size":102864,"version":"1.0.1","binstar":{"package_id":"63925f886643907e3b5adc4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0bf04eeee0128b63d48bff5ec7c7d8aeba48f52461cb2bb7159cfd87ca3c7bf4"},"ros-humble-ament-cmake-test-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538752465,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"31d5b5260c7f327f4aabc0c344b51acc","name":"ros-humble-ament-cmake-test","requires":[],"size":20692,"version":"1.3.3","binstar":{"package_id":"639260cfa2b7121008ef5089","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"530bd7a20519c8f58816f82c06ac4b11e386d0cf3684a7500584632767d92e45"},"ros-humble-ament-cmake-test-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637059560,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"47de9d292aa24b81d3b31a6479b09cfe","name":"ros-humble-ament-cmake-test","requires":[],"size":22207,"version":"1.3.3","binstar":{"package_id":"639260cfa2b7121008ef5089","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"82fc5be4b51d76c23d35ef6ea7243e645f858892bbbe08e6000bd3777a0a0e3b"},"ros-humble-ament-cmake-export-targets-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538920065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a2b716b1327652b411c721ada9575ea0","name":"ros-humble-ament-cmake-export-targets","requires":[],"size":10779,"version":"1.3.3","binstar":{"package_id":"639260cfead2dcc8c2cf8be3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce3b0867b459b63d4eafb2b92ded9b707f9d5667594bbeff15ef74a2a15f8f4c"},"ros-humble-ament-cmake-export-targets-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637252096,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"16849da7d854d1e1ad6a3edc990b30b9","name":"ros-humble-ament-cmake-export-targets","requires":[],"size":12290,"version":"1.3.3","binstar":{"package_id":"639260cfead2dcc8c2cf8be3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cfc5c56edc1bfeff8a9ad4c781bce7fbb305e48e166928b92b16a31f9bbb3ec8"},"ros-humble-ament-flake8-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["flake8","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538675625,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6dbf451560ff94d94e4bb78b04dac895","name":"ros-humble-ament-flake8","requires":[],"size":14679,"version":"0.12.4","binstar":{"package_id":"639260d0114c465c98ae2a08","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d8b6754ee9f5af2401db58e0e8b74e01125be5269335917c1027c83b31c7b590"},"ros-humble-ament-flake8-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["flake8","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675636959749,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"076b7804ca516f140c5a4ceb5a2b1355","name":"ros-humble-ament-flake8","requires":[],"size":15654,"version":"0.12.5","binstar":{"package_id":"639260d0114c465c98ae2a08","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"95abcb17f989f9dd4768724f9e4c8ded2077315090431fe2452a21c1b742087f"},"ros-humble-ament-cmake-export-interfaces-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539008703,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f8460606d003e37aa485eae60cce33f","name":"ros-humble-ament-cmake-export-interfaces","requires":[],"size":10858,"version":"1.3.3","binstar":{"package_id":"639260d154e9ace854bb639d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c654d338d0cfced48604feedee62af80a03fa70240eb93d005e2443270812da2"},"ros-humble-ament-cmake-export-interfaces-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637340447,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8fc21fc423f299455500da077cd488ef","name":"ros-humble-ament-cmake-export-interfaces","requires":[],"size":12365,"version":"1.3.3","binstar":{"package_id":"639260d154e9ace854bb639d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a6755a3cbcf644b78af9ad637ad132ecf50973ec5407d1e92e81e72c08d68e63"},"ros-humble-ament-cmake-target-dependencies-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-include-directories","ros-humble-ament-cmake-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538835295,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6e00cf50261169c4ef35fec5a5e10da7","name":"ros-humble-ament-cmake-target-dependencies","requires":[],"size":11755,"version":"1.3.3","binstar":{"package_id":"639260d1ed6d66bf8f8be7c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3ea8092fc25974091c8194544d97ca2d2f2756dbd923465cd5145dc2ec1c9431"},"ros-humble-ament-cmake-target-dependencies-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-include-directories","ros-humble-ament-cmake-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637150859,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a05924d966ac9e45b640dc9fae8b67c5","name":"ros-humble-ament-cmake-target-dependencies","requires":[],"size":13224,"version":"1.3.3","binstar":{"package_id":"639260d1ed6d66bf8f8be7c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0e0082fa22271dfcf335af165b5d8fa48c8ac658110f18eac286140f1e42fc50"},"ros-humble-ament-cmake-export-dependencies-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538813754,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"818289f6471ef88f3c95887d1639709a","name":"ros-humble-ament-cmake-export-dependencies","requires":[],"size":11139,"version":"1.3.3","binstar":{"package_id":"639261d06643907e3b5c9df0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"39892f1d3404861e6eaf58b556d0f6e07e416c420f34996d7286f96330e05126"},"ros-humble-ament-cmake-export-dependencies-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-libraries","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637075307,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7de542a3b03fdb4da3c8224a8feb950b","name":"ros-humble-ament-cmake-export-dependencies","requires":[],"size":12633,"version":"1.3.3","binstar":{"package_id":"639261d06643907e3b5c9df0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b39228cdba90d3782ec09fb998dfe88b20a056a07163f415628ee92fbfc27811"},"ros-humble-iceoryx-posh-2.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-iceoryx-hoofs","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539084402,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5f18d65daca30c77006d4b7f25007f9e","name":"ros-humble-iceoryx-posh","requires":[],"size":434794,"version":"2.0.2","binstar":{"package_id":"639261d1114c465c98af9d60","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d98fbf6d300e95bb63241f0bbec89476a11b591a0f770d28f72cb750179f6625"},"ros-humble-iceoryx-posh-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-iceoryx-hoofs","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637515240,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"556287f361d37b4d0ea9abd988842afb","name":"ros-humble-iceoryx-posh","requires":[],"size":446585,"version":"2.0.2","binstar":{"package_id":"639261d1114c465c98af9d60","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7faff14964e1200da00e6279cb8be6f5aeedf1c0806a2d2005a4bd228e5b7f63"},"ros-humble-gmock-vendor-1.10.9004-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-gtest-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670538868533,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2c449dc6524469b751639f634cd41dc6","name":"ros-humble-gmock-vendor","requires":[],"size":98199,"version":"1.10.9004","binstar":{"package_id":"639261d22dd7062055553152","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f32fc5f94bf0afaaf9ae80c685eff77ab4b34eb8d7c808035ac11a690c444ce2"},"ros-humble-gmock-vendor-1.10.9004-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-gtest-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637184416,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c6ad00e6e923de41b79d08a14af554be","name":"ros-humble-gmock-vendor","requires":[],"size":99683,"version":"1.10.9004","binstar":{"package_id":"639261d22dd7062055553152","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d50befad22db55e539e070b077f4338bd15cdc131af5f887a3f80f759af5a7a9"},"ros-humble-ament-lint-auto-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539935536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"448c5c885d4d9fca41e552f2f24647b6","name":"ros-humble-ament-lint-auto","requires":[],"size":10289,"version":"0.12.4","binstar":{"package_id":"63926306a2b7121008f38412","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"afb7143ca45d8beade285174f519c195660f4e1cdcf908ddbc0ffa9844f355b4"},"ros-humble-ament-lint-auto-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638032588,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"db6d94aa4b6595ba15b7fec9ca83ca5d","name":"ros-humble-ament-lint-auto","requires":[],"size":11768,"version":"0.12.5","binstar":{"package_id":"63926306a2b7121008f38412","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"caf09f0a390ad35cf6364eaff4c7a7f645e8f14cee1dec5cc16701828c004a64"},"ros-humble-ament-pep257-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pydocstyle","python 3.10.*","python_abi 3.10.*","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539822914,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c1be1e9f5f62b5b52517f27f18c33cc2","name":"ros-humble-ament-pep257","requires":[],"size":13710,"version":"0.12.4","binstar":{"package_id":"63926307358aafdd3d811b74","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"784e21840a96c5a36f87bb1c4f4b041308a6f7667994fb4b7a1aba393a0a9ad9"},"ros-humble-ament-pep257-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pydocstyle","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637847363,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4bf1fea36d38bc6677881261c5775707","name":"ros-humble-ament-pep257","requires":[],"size":14670,"version":"0.12.5","binstar":{"package_id":"63926307358aafdd3d811b74","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7c426dd4592428b58c4816fb2aa0faad063c04cf42db178ca8838b5878883e21"},"ros-humble-ament-cmake-pytest-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pytest","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670540069375,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6acc047e8046946664b8938e47700606","name":"ros-humble-ament-cmake-pytest","requires":[],"size":12162,"version":"1.3.3","binstar":{"package_id":"639263084f66fd116f3ef31f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"27fa367c75f2d21a7b24cae04f9d49414160f14caf94eb5408742f5e28bbdb16"},"ros-humble-ament-cmake-pytest-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pytest","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638226139,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c603f94c0c46d816573fe5f0e04ffb40","name":"ros-humble-ament-cmake-pytest","requires":[],"size":13732,"version":"1.3.3","binstar":{"package_id":"639263084f66fd116f3ef31f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"080de504ba04f294321547cbc4960f4863312b2f6ae0aaa5005d7d4d8d6cc1dc"},"ros-humble-ament-cmake-google-benchmark-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-google-benchmark-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670540002465,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"49d8deff0e72f9524a1d29d6771b256c","name":"ros-humble-ament-cmake-google-benchmark","requires":[],"size":18418,"version":"1.3.3","binstar":{"package_id":"63926309ed6d66bf8f8e9cc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"887a7861d9711cf3d4d0d0bcacf87427622ae946bc74dc51279f5ca08dac6661"},"ros-humble-ament-cmake-google-benchmark-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-google-benchmark-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638131932,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"07be7403ab0a6bd4c5ac734520d686e6","name":"ros-humble-ament-cmake-google-benchmark","requires":[],"size":20033,"version":"1.3.3","binstar":{"package_id":"63926309ed6d66bf8f8e9cc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"17e20713071e7423dc9210153be018102ebb1f6d30110d8245aa63e17f66a987"},"ros-humble-ament-cmake-gtest-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gtest","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-gtest-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539880208,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f0f07d9847812750da9afc23b722e57","name":"ros-humble-ament-cmake-gtest","requires":[],"size":12770,"version":"1.3.3","binstar":{"package_id":"6392630a2dd706205557236a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a2d58bdde7cabc470c5c02283339c8c217d3b3c315b50b192158e23901617066"},"ros-humble-ament-cmake-gtest-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gtest","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-gtest-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637943001,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"82b00008247aad26ae230da90edf8ed7","name":"ros-humble-ament-cmake-gtest","requires":[],"size":14300,"version":"1.3.3","binstar":{"package_id":"6392630a2dd706205557236a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"091d035689cae937fbf24ee9f5560e519a2885955e306d49ebfe4dcc9baf01ce"},"ros-humble-iceoryx-binding-c-2.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539847117,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"027ebac4b000fecec8cb2b37c668ad8e","name":"ros-humble-iceoryx-binding-c","requires":[],"size":75434,"version":"2.0.2","binstar":{"package_id":"6392631e2dd706205557447d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8c572e945d1e420fd4b45007bc9539344ac4adfc6b1a0d5c1f3cdbd88f3c0456"},"ros-humble-iceoryx-binding-c-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637869736,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"336288872c6e57a52fbce998422116e6","name":"ros-humble-iceoryx-binding-c","requires":[],"size":77156,"version":"2.0.2","binstar":{"package_id":"6392631e2dd706205557447d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3228aab16ba62f55547f5d2ad682a7a68cd4b5725b1b588b8607b6f8cf27d17a"},"ros-humble-ament-mypy-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","mypy","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670539926338,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74b13a9d9c1e09c22e55b88f842a0565","name":"ros-humble-ament-mypy","requires":[],"size":13410,"version":"0.12.4","binstar":{"package_id":"6392631f1f9cf5f92ad152c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b43cac70ff87a86412a4b02510ee2e730ee21851f1f902094b261562d7877e00"},"ros-humble-ament-mypy-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","mypy","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675637968476,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a88cfc9c326a4bb9109692218c3592a1","name":"ros-humble-ament-mypy","requires":[],"size":14496,"version":"0.12.5","binstar":{"package_id":"6392631f1f9cf5f92ad152c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"55bcdc7cb4a6671e13ab63ecef657bfb6f8e38064033a0903a6279a97cab7725"},"ros-humble-cyclonedds-0.9.1-py310h1d02d79_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","openssl >=1.1.1s,<1.1.2a","python 3.10.*","python_abi 3.10.*","ros-humble-iceoryx-binding-c","ros-humble-iceoryx-hoofs","ros-humble-iceoryx-posh","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h1d02d79_2","timestamp":1670540865472,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1015766b43f35ffd1bbe4dec409b3885","name":"ros-humble-cyclonedds","requires":[],"size":796870,"version":"0.9.1","binstar":{"package_id":"63926468bbbc2b1e962795dc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c481d30add020bb6ff12c1fa2a953312429695d16b26ba6e9746ac5c30c940fd"},"ros-humble-cyclonedds-0.9.1-py310h1bd489d_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-iceoryx-binding-c","ros-humble-iceoryx-hoofs","ros-humble-iceoryx-posh","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h1bd489d_3","timestamp":1675859668927,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d1358c1674ee87be7aa71555ed4b9b93","name":"ros-humble-cyclonedds","requires":[],"size":806782,"version":"0.9.1","binstar":{"package_id":"63926468bbbc2b1e962795dc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3aed27560d08cf66c55dd1acb75f5ac282006e4f63806f8fdfa57a38331254b"},"ros-humble-ament-cmake-gmock-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gmock","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-test","ros-humble-gmock-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670540710855,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e309e84835cee87121d4e93592cb1409","name":"ros-humble-ament-cmake-gmock","requires":[],"size":12158,"version":"1.3.3","binstar":{"package_id":"63926469ed6d66bf8f907322","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"75f2a9f55ec2e26638da6f53fd29b15636bed0504302f8386a0b9b1a1c748faa"},"ros-humble-ament-cmake-gmock-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gmock","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-test","ros-humble-gmock-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638758134,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aa2b38615e54b3d308af932aff504d10","name":"ros-humble-ament-cmake-gmock","requires":[],"size":13689,"version":"1.3.3","binstar":{"package_id":"63926469ed6d66bf8f907322","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"03bb0d2c19c60b9e729e27f4b14a153fb0518de3abd2adc0530004412b796564"},"ros-humble-ament-copyright-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670540557053,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9a4abfc49be5f0a1452983b103fb1e90","name":"ros-humble-ament-copyright","requires":[],"size":46991,"version":"0.12.4","binstar":{"package_id":"6392646bead2dcc8c2d5b754","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c49224fc262b6b220002fdfbde1b183877cf627692136f69939a54af538bb838"},"ros-humble-ament-copyright-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638550949,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39f7bca34defe80f759bfcc2850aecf7","name":"ros-humble-ament-copyright","requires":[],"size":46168,"version":"0.12.5","binstar":{"package_id":"6392646bead2dcc8c2d5b754","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e3266ba806561bb32efe300e8f099ff9872995e1dcc22ec484feb3c51c7b8ce3"},"ros-humble-ament-cmake-gen-version-h-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670540643755,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7f39f7d53177f53e5f596c1c84830859","name":"ros-humble-ament-cmake-gen-version-h","requires":[],"size":12716,"version":"1.3.3","binstar":{"package_id":"6392646bead2dcc8c2d5b7ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f91656557cbea09dd6e162d702bb082ff9001e1606a17e7ed7c4e45f00a0080f"},"ros-humble-ament-cmake-gen-version-h-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675638661767,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"26ab82c2a7323c59feeb4fb873779fe5","name":"ros-humble-ament-cmake-gen-version-h","requires":[],"size":14235,"version":"1.3.3","binstar":{"package_id":"6392646bead2dcc8c2d5b7ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ac0616e6998fec4b786de9edbebe9099d3977b4f75e18267ad73eae32e794365"},"ros-humble-domain-coordinator-0.10.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541226877,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0a2f9b4f80d16e8bb2f68ed5aa64e433","name":"ros-humble-domain-coordinator","requires":[],"size":8915,"version":"0.10.0","binstar":{"package_id":"6392654446f81babcaeb8b58","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f3835fad43f374cad627ca09e620a31e541b865ab86202acfb1c0cef8cdd6ee0"},"ros-humble-domain-coordinator-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639618522,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f721e4c67c1f331feb1a12d08089278","name":"ros-humble-domain-coordinator","requires":[],"size":9703,"version":"0.10.0","binstar":{"package_id":"6392654446f81babcaeb8b58","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"557d313633208407642a8fc98f338622f5da0edeee4d1de33165b83e1e3bdf11"},"ros-humble-ament-clang-format-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["clang-format","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","pyyaml","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541293892,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ac337b303f8f3b7f7f0ba72f133a776c","name":"ros-humble-ament-clang-format","requires":[],"size":15559,"version":"0.12.4","binstar":{"package_id":"63926545ead2dcc8c2d75bb8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f83018916aa48a1a730071af5be76d6348ac0934926e1010751e3c2d42cec710"},"ros-humble-ament-clang-format-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["clang-format","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639836924,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3b110c47cfac70c1deec0d6a6bdf8585","name":"ros-humble-ament-clang-format","requires":[],"size":16791,"version":"0.12.5","binstar":{"package_id":"63926545ead2dcc8c2d75bb8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9b082831d82f8de336f199676f3919e93835d673f258632e2999ef2651d3cfa2"},"ros-humble-generate-parameter-library-py-0.3.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["jinja2","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","typeguard"],"build":"py310h927cc32_2","timestamp":1670805436536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"df34bf7f6416ed4d29664be1b8207694","name":"ros-humble-generate-parameter-library-py","requires":[],"size":28597,"version":"0.3.0","binstar":{"package_id":"639265466e0eca100b46a3dc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2474812f376c3cc72d00d4c1ca44cb85e530370a6b21af3ee59d0ff9fac9724b"},"ros-humble-generate-parameter-library-py-0.3.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["jinja2","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","typeguard"],"build":"py310h927cc32_3","timestamp":1675639719374,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d49b3a30a9d258e530632364439e934b","name":"ros-humble-generate-parameter-library-py","requires":[],"size":27896,"version":"0.3.0","binstar":{"package_id":"639265466e0eca100b46a3dc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"00a8c3de83f242c112d7879355a52519fea72960a68aeae946ccfb298250d459"},"ros-humble-ament-cpplint-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541758692,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b4349e303d88d24200b3014c216af5d9","name":"ros-humble-ament-cpplint","requires":[],"size":118555,"version":"0.12.4","binstar":{"package_id":"6392655b66b3e4e3deb6fa1f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7be819f0d4b223bb76661c908db7805f4a664fcd682173b5d9b08f93528386fb"},"ros-humble-ament-cpplint-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639933996,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"60d56cc687a366986d9df9ba7825eed4","name":"ros-humble-ament-cpplint","requires":[],"size":119683,"version":"0.12.5","binstar":{"package_id":"6392655b66b3e4e3deb6fa1f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"37bee72ec289ce91290ee0e1371bf9443e995eed89bd6386715429d4bbe1f59c"},"ros-humble-ament-xmllint-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libxml2","python 3.10.*","python_abi 3.10.*","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541671332,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6cae09732c8515c90e993e221799842d","name":"ros-humble-ament-xmllint","requires":[],"size":14094,"version":"0.12.4","binstar":{"package_id":"6392655dbbbc2b1e962883ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"578f07d608273e8101ee81e7401ce1236cc6cec443753b1160f8fc9dab3ae6df"},"ros-humble-ament-xmllint-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libxml2","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-lint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639835045,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9d98ef7a116647d0291952572cfe977c","name":"ros-humble-ament-xmllint","requires":[],"size":15092,"version":"0.12.5","binstar":{"package_id":"6392655dbbbc2b1e962883ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5167aa1c290ba710e28859a6b21da3cc594e4a07ab0ac107eaaeee51a0691566"},"ros-humble-ament-cmake-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["cmake","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-definitions","ros-humble-ament-cmake-export-dependencies","ros-humble-ament-cmake-export-include-directories","ros-humble-ament-cmake-export-interfaces","ros-humble-ament-cmake-export-libraries","ros-humble-ament-cmake-export-link-flags","ros-humble-ament-cmake-export-targets","ros-humble-ament-cmake-gen-version-h","ros-humble-ament-cmake-libraries","ros-humble-ament-cmake-python","ros-humble-ament-cmake-target-dependencies","ros-humble-ament-cmake-test","ros-humble-ament-cmake-version","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541580934,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"010a6228119888631103bd4925d21f14","name":"ros-humble-ament-cmake","requires":[],"size":10286,"version":"1.3.3","binstar":{"package_id":"6392655e114c465c98b4e28e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c22ddcd3ae94f04eb21368c60d7bd708ef438fe573f67f9735b2ddcbcce36eac"},"ros-humble-ament-cmake-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["cmake","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-export-definitions","ros-humble-ament-cmake-export-dependencies","ros-humble-ament-cmake-export-include-directories","ros-humble-ament-cmake-export-interfaces","ros-humble-ament-cmake-export-libraries","ros-humble-ament-cmake-export-link-flags","ros-humble-ament-cmake-export-targets","ros-humble-ament-cmake-gen-version-h","ros-humble-ament-cmake-libraries","ros-humble-ament-cmake-python","ros-humble-ament-cmake-target-dependencies","ros-humble-ament-cmake-test","ros-humble-ament-cmake-version","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639727580,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2649cb41b692e3e575d5bf8eb6f29886","name":"ros-humble-ament-cmake","requires":[],"size":11810,"version":"1.3.3","binstar":{"package_id":"6392655e114c465c98b4e28e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1ce8efc5d2499722280d0f0774fcff37013131f913b8b221f1ef081465aff177"},"ros-humble-ament-index-python-1.4.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541840281,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5690d92aea4ece1837896a57b5d799b5","name":"ros-humble-ament-index-python","requires":[],"size":15425,"version":"1.4.0","binstar":{"package_id":"6392655fa2b7121008f81ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0e1bb8a013ccc048434b0146e4ccfb0bc6e796f0f6709848e1b351f169f18dc9"},"ros-humble-ament-index-python-1.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640036384,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f396ba5570de6be98df681ece8e3891c","name":"ros-humble-ament-index-python","requires":[],"size":16089,"version":"1.4.0","binstar":{"package_id":"6392655fa2b7121008f81ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a3a8c3ebd2e3ea7f9a419b2e7c07638a028b523bc9c346c005f6ccab1422fa86"},"ros-humble-ament-lint-cmake-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670541500977,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4466d48cc358a46d2f5d995fe750c5b9","name":"ros-humble-ament-lint-cmake","requires":[],"size":22377,"version":"0.12.4","binstar":{"package_id":"63926561358aafdd3d848fd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"73d7383770be9552c68734180de9629d53662f258f599a1e675bd72455e7ccf2"},"ros-humble-ament-lint-cmake-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675639609429,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9a6b1bf742e82ddd6acb5d8677a43635","name":"ros-humble-ament-lint-cmake","requires":[],"size":23346,"version":"0.12.5","binstar":{"package_id":"63926561358aafdd3d848fd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"88fb47f6313162db07e009c3c56a046b3654cae11d2a37f90efed5870b7660f9"},"ros-humble-tinyxml-vendor-0.8.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","tinyxml"],"build":"py310hd751b12_2","timestamp":1670542784823,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7d8be33736e0a28ffc6fb978f52c2d5f","name":"ros-humble-tinyxml-vendor","requires":[],"size":10503,"version":"0.8.3","binstar":{"package_id":"6392664fd9a997aae71722f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74afe558fc41e627a8910a8ec9e2bfdc0b1b65aedb5619e65d55aece7b5281a6"},"ros-humble-tinyxml-vendor-0.8.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","tinyxml"],"build":"py310h927cc32_3","timestamp":1675640452010,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4b38bd60bcfdfeb257b50a3273cf344c","name":"ros-humble-tinyxml-vendor","requires":[],"size":12034,"version":"0.8.3","binstar":{"package_id":"6392664fd9a997aae71722f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"da4ae386e80001bfb00dc9ac51844270324d0810f3925a0a8e5ad993ac08e69b"},"ros-humble-eigen-stl-containers-1.0.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542445089,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ea9e53fa6a340d053887e0f7ebc7621b","name":"ros-humble-eigen-stl-containers","requires":[],"size":11295,"version":"1.0.0","binstar":{"package_id":"639266502b3749bdb85b9f9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4bd056ae69c18d575a3cb0fb5496430d80775fa430340adfe40f1079ba5d879c"},"ros-humble-eigen-stl-containers-1.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640694909,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c176c3a5750012c50d7da14091d845a","name":"ros-humble-eigen-stl-containers","requires":[],"size":12823,"version":"1.0.0","binstar":{"package_id":"639266502b3749bdb85b9f9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5ecb54b0efcb0bc059b94545d2903d4738a3f52261b9d950290f829f6fe3df16"},"ros-humble-shared-queues-vendor-0.15.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542502966,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"18d9d275d140bc17e3fcdd360a5745ef","name":"ros-humble-shared-queues-vendor","requires":[],"size":51003,"version":"0.15.3","binstar":{"package_id":"639266516643907e3b5f9a77","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0727207835020ef3b9db6e2a67cc7393487ed4dca64edd5f3cc578b5e50bcb4c"},"ros-humble-shared-queues-vendor-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640792501,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8c3a2f2a06c4d171e7bc1600ebbeb9d5","name":"ros-humble-shared-queues-vendor","requires":[],"size":52704,"version":"0.15.4","binstar":{"package_id":"639266516643907e3b5f9a77","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"766309b945b4781d38e06e8feffb384753219122e61192e7ee7c922c2b9a1ba5"},"ros-humble-pybind11-vendor-2.4.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pybind11","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542725381,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c2d80b199fe490880f3963a3bdc8e0d8","name":"ros-humble-pybind11-vendor","requires":[],"size":9130,"version":"2.4.2","binstar":{"package_id":"63926651bbbc2b1e9629a998","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ca90d35d917dcd13d4a3edb5e46c715608e39e57ea1e98a7958fa820242503ec"},"ros-humble-pybind11-vendor-2.4.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pybind11","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640356700,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"12627d1a83ac4d1275014580e8de2ac4","name":"ros-humble-pybind11-vendor","requires":[],"size":10700,"version":"2.4.2","binstar":{"package_id":"63926651bbbc2b1e9629a998","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5f6da1a6546cc0b92152a9c0b191df44118859701fc5c18eb1ef9705f0fa7faa"},"ros-humble-yaml-cpp-vendor-8.0.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310hd751b12_2","timestamp":1670542888735,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3a1d697e6688c09af100e920b31be1c6","name":"ros-humble-yaml-cpp-vendor","requires":[],"size":9395,"version":"8.0.1","binstar":{"package_id":"63926652ead2dcc8c2d8dded","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"955735611a8d0743bfa5807b08ce9e65529a071b6bdb6e906eb4641b2f59f982"},"ros-humble-yaml-cpp-vendor-8.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310h927cc32_3","timestamp":1675640641715,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9ea72a57911cbfad36e98fbf718637bc","name":"ros-humble-yaml-cpp-vendor","requires":[],"size":10893,"version":"8.0.2","binstar":{"package_id":"63926652ead2dcc8c2d8dded","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c580acd58ac2f9a1da7ab3c27ed27d90b5da94ffed22312d109acde8cc54ad8"},"ros-humble-libcurl-vendor-3.1.0-py310h135148d_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcurl >=7.86.0,<8.0a0","libcxx >=14.0.6","pkg-config","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h135148d_2","timestamp":1670542947955,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9f33e5bfed683bcdedaaa7c0f533f01f","name":"ros-humble-libcurl-vendor","requires":[],"size":9922,"version":"3.1.0","binstar":{"package_id":"63926653114c465c98b5ec48","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"269f27b049147f22b8e792728c3ea53ce00b9d56fa79631aa7c54b0c2bb2145d"},"ros-humble-libcurl-vendor-3.1.1-py310h667bcb1_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcurl >=7.87.0,<8.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pkg-config","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h667bcb1_3","timestamp":1675640758951,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"18fe82a927d3cdca25c4639971cec76e","name":"ros-humble-libcurl-vendor","requires":[],"size":11503,"version":"3.1.1","binstar":{"package_id":"63926653114c465c98b5ec48","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5319c7714119f92bf2d24773f67a6387a771018a5bc25a985efb32c1d6aeafe6"},"ros-humble-tinyxml2-vendor-0.7.5-py310hb0861aa_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","tinyxml2 >=9.0.0,<10.0a0"],"build":"py310hb0861aa_2","timestamp":1670542836350,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"89262787355c36e3faf064355cf0d919","name":"ros-humble-tinyxml2-vendor","requires":[],"size":10669,"version":"0.7.5","binstar":{"package_id":"6392665583c9be96eba5a19e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b852061c58a8218fdfa1efebfbcb4bf675dfd5d9403e43922023a30d45c56961"},"ros-humble-tinyxml2-vendor-0.7.5-py310hb6d62d9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","tinyxml2 >=9.0.0,<10.0a0"],"build":"py310hb6d62d9_3","timestamp":1675640545857,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a65f34a40a225c4db7010662ff89d847","name":"ros-humble-tinyxml2-vendor","requires":[],"size":12187,"version":"0.7.5","binstar":{"package_id":"6392665583c9be96eba5a19e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"be4e355e49e1725fdb4ba382ef12badca247bbee3534dfc14af58a5a646c4164"},"ros-humble-random-numbers-2.0.1-py310h8b02db2_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h8b02db2_2","timestamp":1670542385130,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6576f92400655cd64b503ea1a4673c08","name":"ros-humble-random-numbers","requires":[],"size":30387,"version":"2.0.1","binstar":{"package_id":"63926655de9ed7eca6385105","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dbaa0d4a76ba9263305dbfc8d7c81074c48ae9dd33338412e9a94d2f45234c6b"},"ros-humble-random-numbers-2.0.1-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1675640596705,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"acb1c5f7a312d145aaa9db3554b4c6ae","name":"ros-humble-random-numbers","requires":[],"size":32048,"version":"2.0.1","binstar":{"package_id":"63926655de9ed7eca6385105","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2a629a9d9d4ddfc32bdba2671c8b5448aed81fb60e8bdaaef47685963400ebe0"},"ros-humble-tcb-span-1.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670805286527,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83097be56db788a4f5a6ebc36245a08b","name":"ros-humble-tcb-span","requires":[],"size":15634,"version":"1.0.2","binstar":{"package_id":"639266566e0eca100b46e327","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ed7503d1561ae51bb73b06f04268847be265028dc011bac3bd41bb0eb8e5a541"},"ros-humble-tcb-span-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640963167,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3ad9c2474c3d55dd2485bdac9498954d","name":"ros-humble-tcb-span","requires":[],"size":15959,"version":"1.0.2","binstar":{"package_id":"639266566e0eca100b46e327","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aea1f12941066a219a22db5b2e302c77d5b59c4ede428acea5126cc43c582238"},"ros-humble-backward-ros-1.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542479065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0abda18e931a406bf2feb90c34a0b507","name":"ros-humble-backward-ros","requires":[],"size":67268,"version":"1.0.2","binstar":{"package_id":"639266581f9cf5f92ad4ca61","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d9ced5b34b4437a5548342d4abaaa151a1e94f68f209287f90d4e2a02959e77b"},"ros-humble-backward-ros-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640783479,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc89fc77a1f333e2de7401c63efe83f4","name":"ros-humble-backward-ros","requires":[],"size":68940,"version":"1.0.2","binstar":{"package_id":"639266581f9cf5f92ad4ca61","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c0eb0335287b484503957f530eb3834a43bfa2f8b40269aaa7bd96ccf3bc5f4"},"ros-humble-moveit-resources-panda-description-2.0.6-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542368449,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ffc72ad5bc3876e09dfb64f4d024f913","name":"ros-humble-moveit-resources-panda-description","requires":[],"size":3798263,"version":"2.0.6","binstar":{"package_id":"6392665aa2b7121008fa0b4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"51149f1525ad9209b37beb6bd5923b7169ba8e8ba7690d17dbdb36290dce243b"},"ros-humble-moveit-resources-panda-description-2.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640649621,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b33508d211c209f32b36c23d831cff83","name":"ros-humble-moveit-resources-panda-description","requires":[],"size":3805925,"version":"2.0.6","binstar":{"package_id":"6392665aa2b7121008fa0b4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30666f80b9fbf0856def7a15ded90b7ad5c21af0fef5a7a2a9f910f37c412ba2"},"ros-humble-moveit-resources-pr2-description-2.0.6-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542623242,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8c5b5538c5e5945b42bb2c8cf86a7218","name":"ros-humble-moveit-resources-pr2-description","requires":[],"size":25838508,"version":"2.0.6","binstar":{"package_id":"6392665b6643907e3b5f9cd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4fd5a4deab806fa4ecf59b13208da0d8f76cd2b6bd811edc58b107e93eb2cdbc"},"ros-humble-moveit-resources-pr2-description-2.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640942965,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9b421326d7a0f6e45e06974cf5c8ea52","name":"ros-humble-moveit-resources-pr2-description","requires":[],"size":25915458,"version":"2.0.6","binstar":{"package_id":"6392665b6643907e3b5f9cd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bec7dd8f8626fddcb21a6a24dc676bb79bb619c03f309c30a33a252204797120"},"ros-humble-sqlite3-vendor-0.15.3-py310h4c2ae0b_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libsqlite >=3.40.0,<4.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","sqlite"],"build":"py310h4c2ae0b_2","timestamp":1670542182292,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aa75dcc287f8ebc3c1caf1a40c1228ac","name":"ros-humble-sqlite3-vendor","requires":[],"size":10670,"version":"0.15.3","binstar":{"package_id":"6392665c6d07f25db97c4a9f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f19d323ca2c2d13737c586ceca72f49fa001be3e5508feaf2faad6b58a66ddf9"},"ros-humble-sqlite3-vendor-0.15.4-py310hb40b5b5_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libsqlite >=3.40.0,<4.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","sqlite"],"build":"py310hb40b5b5_3","timestamp":1675640363882,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"844a580737cc9bd74e00ab7eae927ea0","name":"ros-humble-sqlite3-vendor","requires":[],"size":12196,"version":"0.15.4","binstar":{"package_id":"6392665c6d07f25db97c4a9f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a74bcdbe60514a1599c74dac9af67187a7fde85d74ed7bed8e5e2bdad4b31195"},"ros-humble-zstd-vendor-0.15.3-py310h0ee586c_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","zstd >=1.5.2,<1.6.0a0"],"build":"py310h0ee586c_2","timestamp":1670542353578,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bb7005acb0eeccf25044887ff4ee4c8f","name":"ros-humble-zstd-vendor","requires":[],"size":10010,"version":"0.15.3","binstar":{"package_id":"6392665de6a2f79ab828d7bc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3cb6ae1ff0110e74f8d1607a2fe20dda1b5c46f6581818ecdff85a889645951e"},"ros-humble-zstd-vendor-0.15.4-py310h4be5160_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","zstd >=1.5.2,<1.6.0a0"],"build":"py310h4be5160_3","timestamp":1675641051344,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e056cfad7ec10a9e62022c2c2d0e96ba","name":"ros-humble-zstd-vendor","requires":[],"size":11552,"version":"0.15.4","binstar":{"package_id":"6392665de6a2f79ab828d7bc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"19e0c8cf2add634e6567423883dfe07fc3df8523c0ae904b2855ea1ea5d08e72"},"ros-humble-angles-1.15.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542562890,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"45fa61973a8e63fe30a428cda7dab45f","name":"ros-humble-angles","requires":[],"size":19065,"version":"1.15.0","binstar":{"package_id":"6392665e114c465c98b5f1fb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b24a7cc8edd52fec14d4048b3fc5a080f2055910e40e87f8b40d3f47e5567a08"},"ros-humble-angles-1.15.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640841640,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"98f0b019d0e5ad3bdecb8c3eca0daa24","name":"ros-humble-angles","requires":[],"size":20848,"version":"1.15.0","binstar":{"package_id":"6392665e114c465c98b5f1fb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1481e68e9b4d30e30c0368d05356b777eb7fbed86e03dce9be1c4f6ffb3b06b1"},"ros-humble-xacro-2.0.8-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","pyyaml","ros-humble-ament-index-python","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542305207,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"235e91d052e55ba3244bff9fdb65d2d9","name":"ros-humble-xacro","requires":[],"size":48277,"version":"2.0.8","binstar":{"package_id":"6392665e6a03c9fad2522bf2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0121240e55a53b59809c8b19ee4ba37b35b83c9ff77086505907e625fd564f90"},"ros-humble-xacro-2.0.8-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640557457,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c4a9e98b90d698c651eb32d0955ef760","name":"ros-humble-xacro","requires":[],"size":49984,"version":"2.0.8","binstar":{"package_id":"6392665e6a03c9fad2522bf2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"71835a50eb894e35c0f9160e79f00d1571dc648ef8c66facfa5c474d5c43b23d"},"ros-humble-ament-cmake-auto-1.3.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ament-cmake-gtest","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542242856,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"36efa3958f6bbdb1fb940baedaaa1f35","name":"ros-humble-ament-cmake-auto","requires":[],"size":13260,"version":"1.3.3","binstar":{"package_id":"6392665fd9a997aae7172899","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"40ced55058858992886d6189803f46da146256da1c0cbbcb724468e72cdf6a6a"},"ros-humble-ament-cmake-auto-1.3.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-cmake-gtest","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640454860,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cd0d60397cc5fab4462a471ed1f4584a","name":"ros-humble-ament-cmake-auto","requires":[],"size":14922,"version":"1.3.3","binstar":{"package_id":"6392665fd9a997aae7172899","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a69f232462c6af5dcd2e1d2c0710e663215d84ba34d38144a33874430d7969dc"},"ros-humble-ros2-control-test-assets-2.18.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670805362033,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d6d39a73a4b68c066b142db48e1573b4","name":"ros-humble-ros2-control-test-assets","requires":[],"size":14926,"version":"2.18.0","binstar":{"package_id":"6392666054e9ace854c349f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f787fb69cb6d9052562d8f8e4b8dc27ad9bb8f60bf9e2954af96c57f901b0570"},"ros-humble-ros2-control-test-assets-2.22.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640750317,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9424eecdbd87f3ca3b0a8185647a029","name":"ros-humble-ros2-control-test-assets","requires":[],"size":15230,"version":"2.22.0","binstar":{"package_id":"6392666054e9ace854c349f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7a0d6555616a9b36cdd5504ae985d08935ceca3c937f446b51d1e3f41904dfc7"},"ros-humble-moveit-resources-fanuc-description-2.0.6-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542415442,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c09f90590bd1e3b37ee9559f1f01b638","name":"ros-humble-moveit-resources-fanuc-description","requires":[],"size":185549,"version":"2.0.6","binstar":{"package_id":"639266624f66fd116f469d2f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"56074aa187e090f089587263f8de923f97e3c388f70bb65b6fce95a321f6c1d2"},"ros-humble-moveit-resources-fanuc-description-2.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641141086,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"803f275833fa270780598d70a9bf86d9","name":"ros-humble-moveit-resources-fanuc-description","requires":[],"size":186848,"version":"2.0.6","binstar":{"package_id":"639266624f66fd116f469d2f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9b05ccd298b0bd071d944cc7dd7e44304d71a4985748d65dcb48ea7be3d2fb48"},"ros-humble-ament-cmake-lint-cmake-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-lint-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542248785,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8c33e2e30628e9f100af17bee93d7c7b","name":"ros-humble-ament-cmake-lint-cmake","requires":[],"size":10474,"version":"0.12.4","binstar":{"package_id":"63926678114c465c98b5fe2c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"41cb0c0f4b994754490cd485219ff62d24373a0bf86e0194dcf6f819341b5107"},"ros-humble-ament-cmake-lint-cmake-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-lint-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640362970,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f765fe5da7350c45589786ff49abff3b","name":"ros-humble-ament-cmake-lint-cmake","requires":[],"size":11999,"version":"0.12.5","binstar":{"package_id":"63926678114c465c98b5fe2c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c458beb5d9adaa80f558d72d8f4ab0178a44fb6d8414cfae34ea7de05e0b702d"},"ros-humble-rosidl-cli-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["argcomplete","importlib-metadata","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542514044,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fa48004ae765b5ce6481ddd4257aacba","name":"ros-humble-rosidl-cli","requires":[],"size":23597,"version":"3.1.4","binstar":{"package_id":"6392667abbbc2b1e9629f7e5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3cca29eec967e7952c3785aeae3a9c1b111a798e1ce509c92784a754d541c912"},"ros-humble-rosidl-cli-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["argcomplete","importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640721927,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"79762a44c96d5b53eaa23a8bff1948bd","name":"ros-humble-rosidl-cli","requires":[],"size":24156,"version":"3.1.4","binstar":{"package_id":"6392667abbbc2b1e9629f7e5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d37dcd70545b3c8d456e7d854180466f43080f703934c1a057cdea81973df4c9"},"ros-humble-uncrustify-vendor-2.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","uncrustify >=0.74.0,<0.75.0a0"],"build":"py310hd751b12_2","timestamp":1670542392130,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a2548b2ed2149fbeec10c859a40d4f67","name":"ros-humble-uncrustify-vendor","requires":[],"size":9268,"version":"2.0.2","binstar":{"package_id":"6392667bd9a997aae717542c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8befa516bfac5d62d3366f92750a0fb4e77a94180f5d7e3063ff7da9bf9bc690"},"ros-humble-uncrustify-vendor-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","uncrustify >=0.74.0,<0.75.0a0"],"build":"py310h927cc32_3","timestamp":1675640548417,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b5c47d80e31644c154ddf874c58c8db2","name":"ros-humble-uncrustify-vendor","requires":[],"size":10805,"version":"2.0.2","binstar":{"package_id":"6392667bd9a997aae717542c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74d4c95cbf6fffc15ee656819bac7dc3df1a9ebc84f8944914362736c9c3a2fd"},"ros-humble-rpyutils-0.2.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542580981,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"73f8c912d74c1ffd9a6b7db028828bdc","name":"ros-humble-rpyutils","requires":[],"size":13510,"version":"0.2.1","binstar":{"package_id":"6392667cead2dcc8c2d90d18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1dceea4f7fcc36f4c866fab5723326c2b1014d2bbac73e6451368658dc1c02a9"},"ros-humble-rpyutils-0.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640802698,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cbe5078978287fcdd0b1c05ad8742bc9","name":"ros-humble-rpyutils","requires":[],"size":10798,"version":"0.2.1","binstar":{"package_id":"6392667cead2dcc8c2d90d18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"da8b0a942c21a55f59bc71fbd24f84fdf6c1ad9c64c23be979662feabb56862d"},"ros-humble-launch-1.0.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","lark-parser","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","pyyaml","ros-humble-ament-index-python","ros-humble-osrf-pycommon","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670542452556,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2abd36858507d585b5f8390f014bad9b","name":"ros-humble-launch","requires":[],"size":148215,"version":"1.0.3","binstar":{"package_id":"6392667d358aafdd3d85cc70","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"104ed38c99490ea3b9413bfa1b7bd453f29ddefe7078327fcca7d3edaac3022a"},"ros-humble-launch-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","lark-parser","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-osrf-pycommon","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675640631166,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9a5e6e30f46a38a0f856865a093ec14","name":"ros-humble-launch","requires":[],"size":143014,"version":"1.0.4","binstar":{"package_id":"6392667d358aafdd3d85cc70","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2fd12f52df69e300bc5a47e6c585a40e444c400d59a2d4e2c302e2d3fc0955eb"},"ros-humble-gazebo-dev-3.7.0-py310hee6c4eb_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gazebo >=11.12.0,<12.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hee6c4eb_3","timestamp":1677541743201,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6d27f41bb9f2e9606b919882d9e8723d","name":"ros-humble-gazebo-dev","requires":[],"size":14115,"version":"3.7.0","binstar":{"package_id":"639266cb54e9ace854c377fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7aab47c44e79dcd9a03942dd9976ef8d86b798f9e684fed99538a83cdad8bc27"},"ros-humble-dynamixel-sdk-3.7.60-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678331520837,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99bb106dd9ff0ae0d93d73e6d4380a9b","name":"ros-humble-dynamixel-sdk","requires":[],"size":48882,"version":"3.7.60","binstar":{"package_id":"639266cce6a2f79ab8292707","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"12598d69d63ae47ffe5646738ab5599f8987451bf745a3c6ce83d8a45fa8f9c4"},"ros-humble-sdl2-vendor-3.1.0-py310h1019ea0_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","sdl2 >=2.26.1,<3.0a0"],"build":"py310h1019ea0_2","timestamp":1670542477458,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"656c2d95c76e6702ca97a17a527af625","name":"ros-humble-sdl2-vendor","requires":[],"size":9726,"version":"3.1.0","binstar":{"package_id":"639266cde6a2f79ab829272d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a139293d03e43f245bbf5ea9fee834cdda99919255986f1e8083ff4dff8f66c8"},"ros-humble-sdl2-vendor-3.1.0-py310hf36b8cc_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","sdl2 >=2.26.2,<3.0a0"],"build":"py310hf36b8cc_3","timestamp":1675640429957,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99801b3f0420723f3764332fdf634150","name":"ros-humble-sdl2-vendor","requires":[],"size":11278,"version":"3.1.0","binstar":{"package_id":"639266cde6a2f79ab829272d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1c21851214976d63f58e0ad67e55b96b435b6cdf9eb105f9189ddf47084ded69"},"ros-humble-ament-cmake-copyright-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-copyright","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670543688214,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ff3117af4c9c6bb6d89de81af818dbd0","name":"ros-humble-ament-cmake-copyright","requires":[],"size":10487,"version":"0.12.4","binstar":{"package_id":"639267b8114c465c98b65b86","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"11822daf8e56577b5e7b7a537f488ceca1bf9535bd341470879a2c70de8a5324"},"ros-humble-ament-cmake-copyright-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-copyright","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641465585,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"82e1249eb127f4a37c25a82f9be4925e","name":"ros-humble-ament-cmake-copyright","requires":[],"size":12025,"version":"0.12.5","binstar":{"package_id":"639267b8114c465c98b65b86","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a10e1491bcb0bdeac1ffbe2192fc58521a6f045228e23d002e9482d0e04dc7d3"},"ros-humble-ament-uncrustify-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-uncrustify-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670543838468,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"746561d12ed958f024eac786452ba67c","name":"ros-humble-ament-uncrustify","requires":[],"size":33956,"version":"0.12.4","binstar":{"package_id":"639267b96a03c9fad2538074","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6697f544cee2f7fb0bd23ff4fe1e54680d37bfc45f08d111089c01bdcacb3435"},"ros-humble-ament-uncrustify-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-uncrustify-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641553361,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5e3fb406c73bea2bde1b294680ddd93e","name":"ros-humble-ament-uncrustify","requires":[],"size":35072,"version":"0.12.5","binstar":{"package_id":"639267b96a03c9fad2538074","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fcc67f55a5f5f94987e2b9675144b2fc60d4f82d71dfe11336a716ec864d63bb"},"ros-humble-moveit-resources-prbt-support-2.5.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544085389,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9a35e9a7ff962063af38a0b8e5db29bf","name":"ros-humble-moveit-resources-prbt-support","requires":[],"size":1079039,"version":"2.5.4","binstar":{"package_id":"639267baed6d66bf8f935f12","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1314be60e07f6cc14b77e25a47108c4841f331b4e5b952021c902a6fc0bee925"},"ros-humble-moveit-resources-prbt-support-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641811076,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"33279096da0cba5902c0ac5b32bbe7ad","name":"ros-humble-moveit-resources-prbt-support","requires":[],"size":1082663,"version":"2.5.4","binstar":{"package_id":"639267baed6d66bf8f935f12","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3afede5031325a46c167bbf10001a70bbcc65f1b3168677b3f9101ad5d36d0c1"},"ros-humble-launch-yaml-1.0.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-launch","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670543935474,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2c14d1a330313146e7123884df8b3883","name":"ros-humble-launch-yaml","requires":[],"size":13137,"version":"1.0.3","binstar":{"package_id":"639267bb358aafdd3d86780f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b86e3a0cd1d82db98dc1d48057f66b1351bba09555a5714e5d77a36748b9fc5c"},"ros-humble-launch-yaml-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641636091,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cde1006e2936b75a4252eb264bfd4a31","name":"ros-humble-launch-yaml","requires":[],"size":13779,"version":"1.0.4","binstar":{"package_id":"639267bb358aafdd3d86780f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f9a1c76aa3fd23bc626dd9c651d74be6a2d81afc587aa3f96d332c291f55aefc"},"ros-humble-launch-xml-1.0.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-launch","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544006915,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"19a1903590a187b78ccfe1f675d3601f","name":"ros-humble-launch-xml","requires":[],"size":12825,"version":"1.0.3","binstar":{"package_id":"639267bb4f66fd116f47f8e1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6915883c0fbd7588ddcc19827e514aae6ae7949d7f98cdab973844802fe7e8bd"},"ros-humble-launch-xml-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675641711601,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"166e112e016f19b0b0cfab691923e1a6","name":"ros-humble-launch-xml","requires":[],"size":13443,"version":"1.0.4","binstar":{"package_id":"639267bb4f66fd116f47f8e1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fbad2b4ea10898971d8365a24b92992d5e3ab052d7c1396983babf04d3406233"},"ros-humble-ament-cmake-cpplint-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-cpplint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544731882,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8c4bb175821fefe21a8c24d9c4cabb9a","name":"ros-humble-ament-cmake-cpplint","requires":[],"size":10836,"version":"0.12.4","binstar":{"package_id":"6392689da2b7121008fcbd9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7e0703014c7f32ea79c7277cb1b43dd276d8cd9da8bde9eb17163b90b536eef2"},"ros-humble-ament-cmake-cpplint-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-cpplint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642515923,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"be9122cb533b8f692ea0def48d9895de","name":"ros-humble-ament-cmake-cpplint","requires":[],"size":12344,"version":"0.12.5","binstar":{"package_id":"6392689da2b7121008fcbd9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d0aed8f64a64d05a8a4916dc569dc997f7587344e578404895a46a5b9fbc99ac"},"ros-humble-ament-cmake-pep257-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-pep257","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544626545,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"759910dc2f6b396950bfa15f937b85f1","name":"ros-humble-ament-cmake-pep257","requires":[],"size":10434,"version":"0.12.4","binstar":{"package_id":"6392689e46f81babcaefce8e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a1170e4ca7a544a0aa7ed22c0877992affc37ed098b600d4486e386743b813c7"},"ros-humble-ament-cmake-pep257-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-pep257","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642328208,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e2b162b7bb345ba1a794756c3eaf457e","name":"ros-humble-ament-cmake-pep257","requires":[],"size":12008,"version":"0.12.5","binstar":{"package_id":"6392689e46f81babcaefce8e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cfd5e4a7db2c2d11341077d2a5a52048524e828d78f49b9348e876c63084644c"},"ros-humble-ament-cmake-uncrustify-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-uncrustify","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544573315,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"feeca11510bc7d6fba03fd752910c6db","name":"ros-humble-ament-cmake-uncrustify","requires":[],"size":10861,"version":"0.12.4","binstar":{"package_id":"639268a0a2b7121008fcbe1a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8541a421cb097c619fcd6a0551e637c96020f40cdf4908b49dae31ec5f61f86"},"ros-humble-ament-cmake-uncrustify-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-uncrustify","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642232498,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"65c2bde3aeec105474200ca10b9e31d1","name":"ros-humble-ament-cmake-uncrustify","requires":[],"size":12419,"version":"0.12.5","binstar":{"package_id":"639268a0a2b7121008fcbe1a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a7ae98b58ee78a56acad5aa2f649753983764e14107e305b695bb042f40ca8cd"},"ros-humble-ament-cmake-xmllint-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-xmllint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544522053,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"acaea74870f882c442b52653dd584659","name":"ros-humble-ament-cmake-xmllint","requires":[],"size":10514,"version":"0.12.4","binstar":{"package_id":"639268a166b3e4e3deba6245","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7966d561b44eab47a07514b766cfedc27d4a2d2567dbed74e28863c1426bf05a"},"ros-humble-ament-cmake-xmllint-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-xmllint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642137548,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c3758aa89a8382902ebafde2c82d3ae","name":"ros-humble-ament-cmake-xmllint","requires":[],"size":12084,"version":"0.12.5","binstar":{"package_id":"639268a166b3e4e3deba6245","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74da348ba61608448aa0956a66acdc59594317402592117615b9af5ef9814797"},"ros-humble-ament-cmake-flake8-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-ament-flake8","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544680472,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ba932d82d178305eabc94b196218519a","name":"ros-humble-ament-cmake-flake8","requires":[],"size":10694,"version":"0.12.4","binstar":{"package_id":"639268a2ead2dcc8c2dadeb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ab372ba6d4c0042a084b8c6071ccf457943f014dc8097aaf0cbce484abda5519"},"ros-humble-ament-cmake-flake8-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-ament-flake8","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642417613,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ca7e68bcb683932a6a8c5d4de85861dd","name":"ros-humble-ament-cmake-flake8","requires":[],"size":12266,"version":"0.12.5","binstar":{"package_id":"639268a2ead2dcc8c2dadeb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f67ac7e511f4f60a1395d552cbfb95e20adbaebb100a272e5b31debd23509d8"},"ros-humble-eigen3-cmake-module-0.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544551457,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"63e31360a79f838f2beb32b85abf8c0d","name":"ros-humble-eigen3-cmake-module","requires":[],"size":9963,"version":"0.1.1","binstar":{"package_id":"639268b8358aafdd3d86b92e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"06b3c1736ae5da6cfdf52f3c852d91e84befe63b9a2c8cd039d1f8acfd4a96b8"},"ros-humble-eigen3-cmake-module-0.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642342426,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6c5c94cddfeacbfd6190a090c12c065","name":"ros-humble-eigen3-cmake-module","requires":[],"size":11487,"version":"0.1.1","binstar":{"package_id":"639268b8358aafdd3d86b92e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0decbde26e5ba2c6661b55d06ae7f231439a4fe951e74adf13a62f22841e2700"},"ros-humble-ament-cmake-cppcheck-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ament-cppcheck","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544403693,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e751c97e124f56ddeb81f206a30af25d","name":"ros-humble-ament-cmake-cppcheck","requires":[],"size":11479,"version":"0.12.4","binstar":{"package_id":"639268b92dd70620555f246b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"14268a1fb823029eddcdc9e6789d0f51d5082f66e9da7042b6dbce4a55ef4738"},"ros-humble-ament-cmake-cppcheck-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-cmake-test","ros-humble-ament-cppcheck","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642147660,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ec4bf9a4a8a30c94cf48c14b9b5f0ca9","name":"ros-humble-ament-cmake-cppcheck","requires":[],"size":13039,"version":"0.12.5","binstar":{"package_id":"639268b92dd70620555f246b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d76d275521b7475886d2cec2ce27ac12ef489792b57c441c2ab4d7ef1ceb1999"},"ros-humble-launch-testing-1.0.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pytest","python 3.10.*","python_abi 3.10.*","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-osrf-pycommon","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670544479011,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2de9dcf8827fba7d5d23ed4959d4dd51","name":"ros-humble-launch-testing","requires":[],"size":74542,"version":"1.0.3","binstar":{"package_id":"639268b99e77a4aa6b6a8f14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b701f29735f1a84e2e02e1a8dfaf1f1d8481fe898b5f6230f597819b9c843312"},"ros-humble-launch-testing-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pytest","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-osrf-pycommon","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675642236277,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b3de6084eac140556c1127d8edf5bd10","name":"ros-humble-launch-testing","requires":[],"size":73293,"version":"1.0.4","binstar":{"package_id":"639268b99e77a4aa6b6a8f14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9d574070cef6dc76101b3cf8c3ec6f5f1b6ccab499a489de755fab1092960025"},"ros-humble-ament-lint-common-0.12.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-copyright","ros-humble-ament-cmake-core","ros-humble-ament-cmake-cppcheck","ros-humble-ament-cmake-cpplint","ros-humble-ament-cmake-flake8","ros-humble-ament-cmake-lint-cmake","ros-humble-ament-cmake-pep257","ros-humble-ament-cmake-uncrustify","ros-humble-ament-cmake-xmllint","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545206724,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0686f3738e59b24d92a3f893aa8736cb","name":"ros-humble-ament-lint-common","requires":[],"size":10239,"version":"0.12.4","binstar":{"package_id":"639269e44f66fd116f497b18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce7c1f3c33326fe4bfc241b2f85a546f93f5c30791a3883f7d76ae7737b2a654"},"ros-humble-ament-lint-common-0.12.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-copyright","ros-humble-ament-cmake-core","ros-humble-ament-cmake-cppcheck","ros-humble-ament-cmake-cpplint","ros-humble-ament-cmake-flake8","ros-humble-ament-cmake-lint-cmake","ros-humble-ament-cmake-pep257","ros-humble-ament-cmake-uncrustify","ros-humble-ament-cmake-xmllint","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675720522586,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"904aa1f20b8de686cb0be3855cab9eda","name":"ros-humble-ament-lint-common","requires":[],"size":11956,"version":"0.12.5","binstar":{"package_id":"639269e44f66fd116f497b18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"00b6104adce89cd7d1effd12dd2e09329830408a0008123edf8138279e688eae"},"ros-humble-ignition-cmake2-vendor-0.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-cmake2 >=2.16.0,<3.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545524585,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c315b2434408ad37b26bf3d7f12a7b26","name":"ros-humble-ignition-cmake2-vendor","requires":[],"size":6463,"version":"0.0.2","binstar":{"package_id":"639269e6d9a997aae719dd03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3e953d61452b07d429c513a7c69fae48ccc05997965efc225f4a0f9efbb03db9"},"ros-humble-ignition-cmake2-vendor-0.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-cmake2 >=2.16.0,<3.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675720855536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1e0e58004ae5aa5de74e5de4ae2fbf76","name":"ros-humble-ignition-cmake2-vendor","requires":[],"size":8132,"version":"0.0.2","binstar":{"package_id":"639269e6d9a997aae719dd03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"49e76edfa0e18ca941b73d86181ad3abcd1727709b9a22c6ccb10a159b21e50c"},"ros-humble-rviz-assimp-vendor-11.2.4-py310h7f2984b_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h7f2984b_2","timestamp":1670545437827,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"311949cd5f5dc6e1a8e6bab8e759290e","name":"ros-humble-rviz-assimp-vendor","requires":[],"size":9980,"version":"11.2.4","binstar":{"package_id":"639269e7ed6d66bf8f93e337","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ddb9b9669c37e5db680d17946f9d5c74dd186970eb816de7ca045bce9ac1fd60"},"ros-humble-rviz-assimp-vendor-11.2.5-py310h07a1639_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h07a1639_3","timestamp":1675720757641,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a888294c8e347bd19706bc67ab6fed26","name":"ros-humble-rviz-assimp-vendor","requires":[],"size":11541,"version":"11.2.5","binstar":{"package_id":"639269e7ed6d66bf8f93e337","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"47a93fa801ba89d939a436b41a617eaa94881a7268a4476831df6d3eb20f1790"},"ros-humble-foonathan-memory-vendor-1.2.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cmake","foonathan-memory >=0.7.2,<0.7.3.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545270421,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"841313f6649cc5c5788232416eed356c","name":"ros-humble-foonathan-memory-vendor","requires":[],"size":7405,"version":"1.2.0","binstar":{"package_id":"639269e846f81babcaf0cb80","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1704344f64f486f073f4b4327fc4ab0e786e72e58144031390b4b4add72bebdb"},"ros-humble-foonathan-memory-vendor-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cmake","foonathan-memory >=0.7.2,<0.7.3.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675720617706,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6bad9eeafceb2d2fb3c1c2fbd233c23","name":"ros-humble-foonathan-memory-vendor","requires":[],"size":9125,"version":"1.2.0","binstar":{"package_id":"639269e846f81babcaf0cb80","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f014b07b8cb77964729be16ba1d7897d01d0611ccb4bff9cfb1e2fe8e7e71011"},"ros-humble-rviz-ogre-vendor-11.2.4-py310h584c318_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp","freetype >=2.12.1,<3.0a0","libcxx >=14.0.6","ogre >=1.12.13,<1.13.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","xorg-libx11","xorg-libx11","xorg-libxaw","xorg-libxext","xorg-libxrandr"],"build":"py310h584c318_2","timestamp":1670545355301,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"571822d8ffb4a96fc8ea25eef99e87da","name":"ros-humble-rviz-ogre-vendor","requires":[],"size":12159,"version":"11.2.4","binstar":{"package_id":"639269ea46f81babcaf0cba3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f08672de28909abf6ac9172d5b36411ec382e2bde868cb432ada603c08148e9e"},"ros-humble-rviz-ogre-vendor-11.2.5-py310h57a32cc_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","freeimage >=3.18.0,<3.19.0a0","freetype >=2.12.1,<3.0a0","libcxx >=14.0.6","libzlib >=1.2.13,<1.3.0a0","pugixml >=1.11.4,<1.12.0a0","python","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libx11","xorg-libxaw","xorg-libxext","xorg-libxrandr","zziplib >=0.13.69,<0.14.0a0"],"build":"py310h57a32cc_3","timestamp":1675719078299,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90701dabb957c0293dcc3764d6c0a333","name":"ros-humble-rviz-ogre-vendor","requires":[],"size":5055865,"version":"11.2.5","binstar":{"package_id":"639269ea46f81babcaf0cba3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4dddd1456926b4cf3a521cb0d3856cb5be4664fb0f3835a666758272b2899a4b"},"ros-humble-tango-icons-vendor-0.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545995503,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2ece65a344faad54cfe09deb16259548","name":"ros-humble-tango-icons-vendor","requires":[],"size":1015935,"version":"0.1.1","binstar":{"package_id":"63926ae1d9a997aae71a937d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9d0deb15c570c63cf35a8b5fe57aec924630cbf94b05f8274e43dbbd290c746c"},"ros-humble-tango-icons-vendor-0.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721303664,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"16e97644d2f08cbbad4e35b58ddcc3ee","name":"ros-humble-tango-icons-vendor","requires":[],"size":1027269,"version":"0.1.1","binstar":{"package_id":"63926ae1d9a997aae71a937d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"15b77d3e4ffdaf8020359a98f81dc8ffe1b38f9c5b3125a061d9f8920868e0af"},"ros-humble-ignition-math6-vendor-0.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-math6 >=6.13.0,<7.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ignition-cmake2-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546153165,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"77be4d42c59279f2335b39dec8b72637","name":"ros-humble-ignition-math6-vendor","requires":[],"size":6487,"version":"0.0.2","binstar":{"package_id":"63926ae1ead2dcc8c2dc0208","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57252d5948fd77062e08525505ef83293eaffa904a35edded9c6a03b28926f8b"},"ros-humble-ignition-math6-vendor-0.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-math6 >=6.13.0,<7.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ignition-cmake2-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721553334,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6733eeaec159e338b0be0e1a813ffb29","name":"ros-humble-ignition-math6-vendor","requires":[],"size":8214,"version":"0.0.2","binstar":{"package_id":"63926ae1ead2dcc8c2dc0208","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aa0284614db75f1b2a618439f0ab2dd641a533b4af18219fb2de97ab92de5979"},"ros-humble-moveit-common-2.5.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-backward-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545928190,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b502e53c3b0a93424237bce09be1c350","name":"ros-humble-moveit-common","requires":[],"size":11015,"version":"2.5.4","binstar":{"package_id":"63926ae354e9ace854c53b7e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d931f41737e448d4b903700d7f1e36a010f4a10eb06d735b5da80b3c7a558e7b"},"ros-humble-moveit-common-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-backward-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721198425,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"33f7cbb036e7b4375d00613703d72d23","name":"ros-humble-moveit-common","requires":[],"size":12770,"version":"2.5.4","binstar":{"package_id":"63926ae354e9ace854c53b7e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"86fb1a7e6647a10ad4fd4be810644e00436f19ca497a862436c2ee9236ef37de"},"ros-humble-keyboard-handler-0.0.5-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546091599,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"396d941ec0d235598a4ecc259e2b1c0a","name":"ros-humble-keyboard-handler","requires":[],"size":42899,"version":"0.0.5","binstar":{"package_id":"63926ae3d9a997aae71a93ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e4124e8476533c25cc12a3d7f574429ef37cf47334c015cb561dcde49a5ff43d"},"ros-humble-keyboard-handler-0.0.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721450653,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"57e2c917b837fac482e644b0667e23cd","name":"ros-humble-keyboard-handler","requires":[],"size":44899,"version":"0.0.5","binstar":{"package_id":"63926ae3d9a997aae71a93ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d3fbc0c81595c8366963517188af33f8518a80cae9167f529eb0916c88c7a372"},"ros-humble-python-cmake-module-0.10.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545933028,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f1eaf15929af16c56d2557408a49e19d","name":"ros-humble-python-cmake-module","requires":[],"size":11360,"version":"0.10.0","binstar":{"package_id":"63926b38a2b7121008ff7de2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"62997ad068d30090201f8ae3936f271c283dd1f302f82f5920de15506268be16"},"ros-humble-python-cmake-module-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721225704,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f015533e35fea0dd253358d3e228598","name":"ros-humble-python-cmake-module","requires":[],"size":13107,"version":"0.10.0","binstar":{"package_id":"63926b38a2b7121008ff7de2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8f8553edbf417393a250cdb654c8ef8715a28f43536556bb4fd9181f35921d0d"},"ros-humble-performance-test-fixture-0.0.9-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-google-benchmark","ros-humble-google-benchmark-vendor","ros-humble-osrf-testing-tools-cpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546019240,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0669d8e793e892ded114e340df05c69f","name":"ros-humble-performance-test-fixture","requires":[],"size":21164,"version":"0.0.9","binstar":{"package_id":"63926b3946f81babcaf213ae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9185ac4a46a6bd7cc972440e4335cc4f61d2076a83f8fbde76c805c3db55cb9a"},"ros-humble-performance-test-fixture-0.0.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-google-benchmark","ros-humble-google-benchmark-vendor","ros-humble-osrf-testing-tools-cpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721362959,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"405a50deecc6e9cd1392f3de5203f74f","name":"ros-humble-performance-test-fixture","requires":[],"size":23090,"version":"0.0.9","binstar":{"package_id":"63926b3946f81babcaf213ae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c75ce1fa91a898a2e515ea6e6f2d36d3b4a725151459a8d90b83bdf64579ec39"},"ros-humble-rosidl-adapter-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["empy","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546204539,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4bcb79d1c275e2c27108f8d5eab50a92","name":"ros-humble-rosidl-adapter","requires":[],"size":36073,"version":"3.1.4","binstar":{"package_id":"63926b3b6a03c9fad255e25c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ed66757841b17ff24197ea65b9d1c5ed710db6dbed5a7d80d67af6c242e9b90"},"ros-humble-rosidl-adapter-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["empy","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721673101,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"41b94883ff08e32607602214d77526e7","name":"ros-humble-rosidl-adapter","requires":[],"size":38211,"version":"3.1.4","binstar":{"package_id":"63926b3b6a03c9fad255e25c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6a8e16f175efe1fab392f42bda02f670b9275324dc87520fdd0c536412f3db0d"},"ros-humble-mimick-vendor-0.2.8-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546091557,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f43248aba40e71f7fdd2cf199236ebb","name":"ros-humble-mimick-vendor","requires":[],"size":38272,"version":"0.2.8","binstar":{"package_id":"63926b3ce6a2f79ab82bfcd1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"92857662b359c03baee92eac731b2af7d402dc68c612c8d23d5e9ce8ce7d5a56"},"ros-humble-mimick-vendor-0.2.8-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721475648,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"107c810676cf3f618d3e2ffc0722a0fc","name":"ros-humble-mimick-vendor","requires":[],"size":40230,"version":"0.2.8","binstar":{"package_id":"63926b3ce6a2f79ab82bfcd1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c67198fdaea4f252f6e1513b46bac1e05b920d99c7713ca59bb15d1b003abe86"},"ros-humble-ament-cmake-ros-0.10.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ament-cmake-gmock","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-pytest","ros-humble-domain-coordinator","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546147047,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e358c4cf913ef864782e8241ccbadbbd","name":"ros-humble-ament-cmake-ros","requires":[],"size":12618,"version":"0.10.0","binstar":{"package_id":"63926b4146f81babcaf2148b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4aa9e7207aa44c63e346528340fed4dfbec274d9443ef8d1522a3272c237aa72"},"ros-humble-ament-cmake-ros-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-cmake-gmock","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-pytest","ros-humble-domain-coordinator","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721574825,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e0182ff3399dc8b901bd403976b4f96","name":"ros-humble-ament-cmake-ros","requires":[],"size":14605,"version":"0.10.0","binstar":{"package_id":"63926b4146f81babcaf2148b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"940bbc5e2f48d870078aaad9271ee79a0a90273f5f5aab7798526128221763df"},"ros-humble-spdlog-vendor-1.3.0-py310hcf0c85d_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","spdlog >=1.11.0,<1.12.0a0"],"build":"py310hcf0c85d_2","timestamp":1670545977055,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6fe9eb299c90007f15cd4177efea106","name":"ros-humble-spdlog-vendor","requires":[],"size":9207,"version":"1.3.0","binstar":{"package_id":"63926b4c46bec18b89e28cfd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7b2f8678cd26d8d092c3a08620067a7caee6e465e2c78ec20a79a1e4ace6c16b"},"ros-humble-spdlog-vendor-1.3.1-py310he44a079_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","spdlog >=1.11.0,<1.12.0a0"],"build":"py310he44a079_3","timestamp":1675721543099,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e039b3f47c2d4b1d4ce921f8e3c1a56","name":"ros-humble-spdlog-vendor","requires":[],"size":10999,"version":"1.3.1","binstar":{"package_id":"63926b4c46bec18b89e28cfd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce268ebf1184396f4556713c64eb7eb42c89a7827001980e9c07403e3fc393ef"},"ros-humble-python-qt-binding-1.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pyqt >=5.15.7,<5.16.0a0","pyqt-builder","python","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.* humble"],"build":"py310hd751b12_2","timestamp":1670967930673,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"190de2734061563c38d5bd4289da473e","name":"ros-humble-python-qt-binding","requires":[],"size":34853,"version":"1.1.1","binstar":{"package_id":"63926b4e46f81babcaf21653","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dbffcc8c50d35532eb2fdaa7c37d43ab42f8112812e65d8ad81b97ebdd682218"},"ros-humble-python-qt-binding-1.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pyqt >=5.15.7,<5.16.0a0","pyqt-builder","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721948360,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"70d5e52e4b45ea69b3cbdad394fc7f85","name":"ros-humble-python-qt-binding","requires":[],"size":27991,"version":"1.1.1","binstar":{"package_id":"63926b4e46f81babcaf21653","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ed57ff9956d64a9d62b07a4b4563f6a08f0566ccac2bb1a0508ab700b6e85445"},"ros-humble-smclib-3.0.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546138484,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cc64407fac2684e2afe98816001d1382","name":"ros-humble-smclib","requires":[],"size":18967,"version":"3.0.2","binstar":{"package_id":"63926b4f2dd70620556023d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74b7947150180e350c75c6e24dbc30950385c39040949ef88ba42cb9d62af788"},"ros-humble-smclib-3.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721758982,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"94148830de0cb7370f121cebda24983e","name":"ros-humble-smclib","requires":[],"size":20760,"version":"3.0.2","binstar":{"package_id":"63926b4f2dd70620556023d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"99e4992b2cec385d8d6ad39ab2875c81c7edf4e0d02f4236c36e23e088154475"},"ros-humble-orocos-kdl-vendor-0.2.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","orocos-kdl >=1.5.1,<1.6.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-eigen3-cmake-module","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546068762,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"10b2e68a95279a423be1a117c96d3a21","name":"ros-humble-orocos-kdl-vendor","requires":[],"size":9979,"version":"0.2.4","binstar":{"package_id":"63926b51d9a997aae71abcc8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3390c0f33a2a417aee470198f0c580ab4cf83d8e0c528497a5db1b5c28886dac"},"ros-humble-orocos-kdl-vendor-0.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721646544,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9642c11ef605785ce7c83b1704e14e57","name":"ros-humble-orocos-kdl-vendor","requires":[],"size":11762,"version":"0.2.5","binstar":{"package_id":"63926b51d9a997aae71abcc8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5c4f456a8f94397cd42949d4365c32bc84f9131e0d202f04333cc8c65cca761e"},"ros-humble-ament-index-cpp-1.4.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545905390,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83f1b2b3de0e1704a6dff6d057e9d148","name":"ros-humble-ament-index-cpp","requires":[],"size":31060,"version":"1.4.0","binstar":{"package_id":"63926b53d9a997aae71abccc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2d3597a554be4b4d09652fe3effc856920a0f41254bf288193b5918910c2d369"},"ros-humble-ament-index-cpp-1.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721435171,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2a3b9649127f31cfcf498c4f552fb029","name":"ros-humble-ament-index-cpp","requires":[],"size":32960,"version":"1.4.0","binstar":{"package_id":"63926b53d9a997aae71abccc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8e524b5a96d3a9cd0259a71565bc0406c730b141b67b1acb7606645665318f4"},"ros-humble-fastrtps-cmake-module-2.2.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546059407,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d4bf31df7c1c46ac06014a347396ec43","name":"ros-humble-fastrtps-cmake-module","requires":[],"size":10351,"version":"2.2.0","binstar":{"package_id":"63926c26ead2dcc8c2dc501d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4b553828a294e92979dabc9425a1b4517d4159b5280cd81b35ba41c21d52c31c"},"ros-humble-fastrtps-cmake-module-2.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721536590,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b5fbc71ce6d5456aa91942336e1d5ea","name":"ros-humble-fastrtps-cmake-module","requires":[],"size":12074,"version":"2.2.0","binstar":{"package_id":"63926c26ead2dcc8c2dc501d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0df57a97c45035929a26f3ba2cecc2d14827908db782e1cb03e87a3bec434dd3"},"ros-humble-rti-connext-dds-cmake-module-0.11.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670546994247,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3ebaea347aea99fa08e4fcf8b0bb71f3","name":"ros-humble-rti-connext-dds-cmake-module","requires":[],"size":14386,"version":"0.11.1","binstar":{"package_id":"63926c27e6a2f79ab82c3604","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57b0456fb4f6923c0965e341bdae56b9045b332753e52950440a31f874612569"},"ros-humble-rti-connext-dds-cmake-module-0.11.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675722689630,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4283f4a4c37526640c5596180ceee338","name":"ros-humble-rti-connext-dds-cmake-module","requires":[],"size":16232,"version":"0.11.1","binstar":{"package_id":"63926c27e6a2f79ab82c3604","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dff76c1943c2f3951252aeb7c7a64097aa8da950ad1d4bc60aec85f454775a23"},"ros-humble-rmw-implementation-cmake-6.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547059834,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"97a9aa1c58f7374993c24e118eafb9bd","name":"ros-humble-rmw-implementation-cmake","requires":[],"size":12227,"version":"6.1.1","binstar":{"package_id":"63926c282b3749bdb85e6a25","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"418cc73ec1137cc0dae82781f578e2d213a80e8ef4c82d65850dbf492f873956"},"ros-humble-rmw-implementation-cmake-6.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675722814652,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1110efc055f7a6a19433e40e3b828e0a","name":"ros-humble-rmw-implementation-cmake","requires":[],"size":14095,"version":"6.1.1","binstar":{"package_id":"63926c282b3749bdb85e6a25","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9e626ec0e8c4084acf00dc8f2dfbba666c909078c016a51804d391d657d772f9"},"ros-humble-fastrtps-2.6.3-py310h3e374a8_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","openssl >=1.1.1s,<1.1.2a","python 3.10.*","python_abi 3.10.*","ros-humble-fastcdr","ros-humble-foonathan-memory-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","tinyxml2 >=9.0.0,<10.0a0"],"build":"py310h3e374a8_2","timestamp":1670546897577,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5efa5c4172917f9b9bed286ebb70d02c","name":"ros-humble-fastrtps","requires":[],"size":2596329,"version":"2.6.3","binstar":{"package_id":"63926c291f9cf5f92ad642d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"190252c980c03d45a42e1cc68fcbf9120463e798bb6645802611fa9ea073fca7"},"ros-humble-fastrtps-2.6.4-py310h824520d_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-fastcdr","ros-humble-foonathan-memory-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","tinyxml2 >=9.0.0,<10.0a0"],"build":"py310h824520d_3","timestamp":1675859500096,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4faf0093879d40b61b63b61b904e54f1","name":"ros-humble-fastrtps","requires":[],"size":2602555,"version":"2.6.4","binstar":{"package_id":"63926c291f9cf5f92ad642d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b01b9d89c0663d80b4b2fd220bb75dbfa912351d616d0d9f401cf91f4a2edb3a"},"ros-humble-rosidl-typesupport-interface-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670545988959,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5856a6266cc09c630fbc12ef70d2e077","name":"ros-humble-rosidl-typesupport-interface","requires":[],"size":11567,"version":"3.1.4","binstar":{"package_id":"63926c2a2b3749bdb85e6a4a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"92478fe43733ee4f669b81d439dac448924ff85e3cdcd485f2be1818378e89b3"},"ros-humble-rosidl-typesupport-interface-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675721402222,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3b81b916ac878d22a74920e3af8a7cf8","name":"ros-humble-rosidl-typesupport-interface","requires":[],"size":13399,"version":"3.1.4","binstar":{"package_id":"63926c2a2b3749bdb85e6a4a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9d4eda1771728bb759d569cdc533a0d0062b47db05d96e05d2c9bff365851a4d"},"ros-humble-launch-testing-ament-cmake-1.0.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake-test","ros-humble-launch-testing","ros-humble-python-cmake-module","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547518014,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"155ab72c38fa472e9b52e7d245adafac","name":"ros-humble-launch-testing-ament-cmake","requires":[],"size":11703,"version":"1.0.3","binstar":{"package_id":"63926d2266b3e4e3debdbca3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2ce8d6087aae50190efe82c368625daa22fba124efdaac8e2d5ea85fc144f0bc"},"ros-humble-launch-testing-ament-cmake-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-test","ros-humble-launch-testing","ros-humble-python-cmake-module","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723155531,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"de8c535e5b8bbb95724320945a6bdce6","name":"ros-humble-launch-testing-ament-cmake","requires":[],"size":13504,"version":"1.0.4","binstar":{"package_id":"63926d2266b3e4e3debdbca3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c15d66a80acbab9cfaf2b1d15815a6327fbe24691e62ef43303637e19fa44a0b"},"ros-humble-rosidl-parser-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["lark-parser","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-rosidl-adapter","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547583356,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ac3dd2bd3398438ed4cc223cbcf99966","name":"ros-humble-rosidl-parser","requires":[],"size":34737,"version":"3.1.4","binstar":{"package_id":"63926d2266b3e4e3debdbccb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4a49d23c41d116815749f2667dc8880e9d67134d40b73ce431e5169d993a1a75"},"ros-humble-rosidl-parser-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["lark-parser","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-adapter","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723261712,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e752cc9389d2c7c2143426f78a863fd1","name":"ros-humble-rosidl-parser","requires":[],"size":36696,"version":"3.1.4","binstar":{"package_id":"63926d2266b3e4e3debdbccb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c916b75b6c418740618bcba6918235913042badf32682650a2e5c53f13113937"},"ros-humble-urdf-parser-plugin-2.6.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-urdfdom-headers","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547772253,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"786196deba77a87db1102e09198e75c1","name":"ros-humble-urdf-parser-plugin","requires":[],"size":12808,"version":"2.6.0","binstar":{"package_id":"63926d234f66fd116f4b3c38","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1aa7ba87366558597f0abde46f399ea3495643bcf3d67d4f733e98c48e02a8fa"},"ros-humble-urdf-parser-plugin-2.6.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-urdfdom-headers","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723601976,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1dee965b861932231457c012a807fb38","name":"ros-humble-urdf-parser-plugin","requires":[],"size":14792,"version":"2.6.0","binstar":{"package_id":"63926d234f66fd116f4b3c38","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7867abce0b33e224f026e3cbbcb2fe51525c75fd4310289b6caf848a88738883"},"ros-humble-console-bridge-vendor-1.4.0-py310h648553b_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h648553b_2","timestamp":1670547720497,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1bd32ae044ba333330321d5bbbbc37a1","name":"ros-humble-console-bridge-vendor","requires":[],"size":9316,"version":"1.4.0","binstar":{"package_id":"63926d24d9a997aae71b93ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e26fef9f1d68450ec154a160c1cd0108b6fd09c4cb94ecd69d274bd707f7e686"},"ros-humble-console-bridge-vendor-1.4.1-py310h2eb544e_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h2eb544e_3","timestamp":1675723508534,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a24ca37e3fe6f9b829ba5df2f9c18b4a","name":"ros-humble-console-bridge-vendor","requires":[],"size":11108,"version":"1.4.1","binstar":{"package_id":"63926d24d9a997aae71b93ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"df7004267a05dc8b2e35a6dd9181cac6ac815285a1040eaccc1632ced6917fcf"},"ros-humble-tracetools-4.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547666089,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a3323e4c536e4db610ec0536c31c3d7","name":"ros-humble-tracetools","requires":[],"size":20186,"version":"4.1.1","binstar":{"package_id":"63926d252b3749bdb85eb0cf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"075e84bea598db432b2fe863885eb72613a1073598822bb7d47481f657729176"},"ros-humble-tracetools-4.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723412934,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0c971dc6112d5c221875ac8560ce818","name":"ros-humble-tracetools","requires":[],"size":22253,"version":"4.1.1","binstar":{"package_id":"63926d252b3749bdb85eb0cf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fcea962129890251d74a55cb07763df86ef271964dbbf9295c079dec1d149eb5"},"ros-humble-qt-gui-py-common-2.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547614174,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"253e8e2aa75bc3e8717c578029e708e6","name":"ros-humble-qt-gui-py-common","requires":[],"size":20155,"version":"2.2.2","binstar":{"package_id":"63926d5866b3e4e3debdc6d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79b7b1dd748d9e5ea38382a40d8f6f3bc4397600e58ccabe8f2eabf96d5805c6"},"ros-humble-qt-gui-py-common-2.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723621425,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7c3d52b768521311b96849f98e9afd56","name":"ros-humble-qt-gui-py-common","requires":[],"size":22354,"version":"2.2.2","binstar":{"package_id":"63926d5866b3e4e3debdc6d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6503761233676db9bc4a9778a607fa028c326aba23e7f9c36e662c27d15f6034"},"ros-humble-tracetools-image-pipeline-3.0.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547539811,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"32c6ed51cb3ee1b2fd7ac0baf970eaf1","name":"ros-humble-tracetools-image-pipeline","requires":[],"size":16968,"version":"3.0.0","binstar":{"package_id":"63926d5966b3e4e3debdc702","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ef5a14f0931cde92b0dcb3c7b34d2a6c097ac4947a225f4ca380598d891b8f40"},"ros-humble-tracetools-image-pipeline-3.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723527944,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"97c2dd81c1d654cad3ec01819c52abf8","name":"ros-humble-tracetools-image-pipeline","requires":[],"size":19024,"version":"3.0.0","binstar":{"package_id":"63926d5966b3e4e3debdc702","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a6f74bb9ab90d3e3c20619aac7653c56b5b7eda02b57635adeba1d830d8925dd"},"ros-humble-qt-gui-2.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","pyqt >=5.15.7,<5.16.0a0","python 3.10.*","python_abi 3.10.*","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros-humble-tango-icons-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547456312,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ff1f8b691d969ec5997feafea111b6e4","name":"ros-humble-qt-gui","requires":[],"size":104883,"version":"2.2.2","binstar":{"package_id":"63926d5a46bec18b89e2fe79","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ffeede5abddbba27277ec539759894ad35c9bef4ff0941e9cfc83f054334e39b"},"ros-humble-qt-gui-2.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pyqt >=5.15.7,<5.16.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros-humble-tango-icons-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723381779,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"daac96d3c2cf102f09e01e077960eef9","name":"ros-humble-qt-gui","requires":[],"size":107571,"version":"2.2.2","binstar":{"package_id":"63926d5a46bec18b89e2fe79","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a428654288d95df977d661778ad26e09d6ba067b3cf2b3d9578eb6a956eb7ca3"},"ros-humble-resource-retriever-3.1.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-index-cpp","ros-humble-ament-index-python","ros-humble-libcurl-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547354395,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c690459b7bd17835ca50c68c39211b40","name":"ros-humble-resource-retriever","requires":[],"size":23650,"version":"3.1.0","binstar":{"package_id":"63926d5a66b3e4e3debdc723","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d269b06bb62477d7cfe8760f634820ee21e8ccc30a8b3fc07ef884dc8d2e894c"},"ros-humble-resource-retriever-3.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-ament-index-python","ros-humble-libcurl-vendor","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723222059,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e68b0af1c8de04a62da4e27a0d6a1ed8","name":"ros-humble-resource-retriever","requires":[],"size":25734,"version":"3.1.1","binstar":{"package_id":"63926d5a66b3e4e3debdc723","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"857d0f2e27e103bcdc57fd9f59fcfd5e4ca028835f632cccf8f9ef84e7f763a4"},"ros-humble-qt-dotgraph-2.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pydot","python 3.10.*","python_abi 3.10.*","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670547762103,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d9e844a19c7f338790e7ef28fe5545c3","name":"ros-humble-qt-dotgraph","requires":[],"size":29146,"version":"2.2.2","binstar":{"package_id":"63926d5b6a03c9fad2569884","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"765de07232b86389b1f9d47144b7eacd81cc36af73e0d7e4ed0c9cf5f418f106"},"ros-humble-qt-dotgraph-2.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pydot","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675723743024,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0e2527f34d16617830e3796589774ac3","name":"ros-humble-qt-dotgraph","requires":[],"size":32039,"version":"2.2.2","binstar":{"package_id":"63926d5b6a03c9fad2569884","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e3d7be718b745c243c81466fab2934fdf2f979005115a61699e662020ac919a"},"ros-humble-urdfdom-3.0.2-py310h648553b_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-console-bridge-vendor","ros-humble-ros-workspace","ros-humble-tinyxml-vendor","ros-humble-urdfdom-headers","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","tinyxml"],"build":"py310h648553b_2","timestamp":1670548381476,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"63259cb6e742a47cb2af71424dd5bb4f","name":"ros-humble-urdfdom","requires":[],"size":115761,"version":"3.0.2","binstar":{"package_id":"63926ecfead2dcc8c2dd054d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"de88d0ac2d2c40492fca2ea5fc0a0d3bb376cf288ae93759d0aa8236e58296ca"},"ros-humble-urdfdom-3.0.2-py310h2eb544e_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-console-bridge-vendor","ros-humble-ros-workspace","ros-humble-tinyxml-vendor","ros-humble-urdfdom-headers","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","tinyxml"],"build":"py310h2eb544e_3","timestamp":1675724605931,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"23355324a933bde4acd2a7d672c9ce41","name":"ros-humble-urdfdom","requires":[],"size":117525,"version":"3.0.2","binstar":{"package_id":"63926ecfead2dcc8c2dd054d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"103f6184bdcf54a56f50285cd753683567c7cb4c5a6394fd5562c615cb43815f"},"ros-humble-rcutils-5.1.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670548149099,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2000757f8529aa3d2abf234aac134366","name":"ros-humble-rcutils","requires":[],"size":85730,"version":"5.1.2","binstar":{"package_id":"63926ed06a03c9fad2575014","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1253e4818faaec0324ec64a469fe2d7e2471712f707874b674ba07a93a77f666"},"ros-humble-rcutils-5.1.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675724272091,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7f6185564190d7a11a92abb5396691b9","name":"ros-humble-rcutils","requires":[],"size":87842,"version":"5.1.2","binstar":{"package_id":"63926ed06a03c9fad2575014","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"045096ee53e23e3529ab4f1d5cb0ec2c9fd4d91294486c971c2b075d7d3828de"},"ros-humble-rviz-rendering-11.2.4-py310hf8c56e3_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","glew >=2.1.0,<2.2.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-eigen3-cmake-module","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-assimp-vendor","ros-humble-rviz-ogre-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","xorg-libx11","xorg-libxext"],"build":"py310hf8c56e3_2","timestamp":1670548679760,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2ff14d9fa121ce3056895291dcceeb99","name":"ros-humble-rviz-rendering","requires":[],"size":931682,"version":"11.2.4","binstar":{"package_id":"63926ed213f4c7e7c54d7ecb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a1ed3912d527c164322852212a9fe18cb4755a3f082f5d21a80fefa3d7ef800c"},"ros-humble-rviz-rendering-11.2.5-py310h2da077f_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","glew >=2.1.0,<2.2.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-eigen3-cmake-module","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-assimp-vendor","ros-humble-rviz-ogre-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h2da077f_3","timestamp":1675725039313,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb4037851b162238b28430ac3e2c335f","name":"ros-humble-rviz-rendering","requires":[],"size":953680,"version":"11.2.5","binstar":{"package_id":"63926ed213f4c7e7c54d7ecb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5011bb58dfd7ce68f9d75a4e63cf5b1d9f1576d84f92ca6c540eac71eb80cc95"},"ros-humble-rosidl-cmake-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["empy","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ros-workspace","ros-humble-rosidl-adapter","ros-humble-rosidl-parser","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670548226271,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8d864d8d847245e38ab6740c58001e4c","name":"ros-humble-rosidl-cmake","requires":[],"size":21662,"version":"3.1.4","binstar":{"package_id":"63926ed39e77a4aa6b6af836","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb98261822762d7a038145e9ccfa6ba546af72bfc06f881ff5bfc55c714276bd"},"ros-humble-rosidl-cmake-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["empy","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ros-workspace","ros-humble-rosidl-adapter","ros-humble-rosidl-parser","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675724402674,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f02a9c1caec5f2909abbfa2942fb93a8","name":"ros-humble-rosidl-cmake","requires":[],"size":23640,"version":"3.1.4","binstar":{"package_id":"63926ed39e77a4aa6b6af836","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6d0faa5a8f7fd4f7bc3b2c5ee381f26b2f96fc83b0634484ace3a33ca0bc68ba"},"ros-humble-rosidl-runtime-c-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549131794,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"35fbe49a1842952ac4c77830083b2596","name":"ros-humble-rosidl-runtime-c","requires":[],"size":27525,"version":"3.1.4","binstar":{"package_id":"6392700f6a03c9fad257bde8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f9437d30cc37a1cca0211ce642355a3a28d90a854b1a1351d2ccc382ce4d2b1e"},"ros-humble-rosidl-runtime-c-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675725441336,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6a0648dd7f16b25ad3cf65cbc2a5b757","name":"ros-humble-rosidl-runtime-c","requires":[],"size":29689,"version":"3.1.4","binstar":{"package_id":"6392700f6a03c9fad257bde8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"81cee367699c36969b39ffe8b4d5379c0fb66784b892a254aa1797e8160f9e73"},"ros-humble-rcpputils-2.4.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549212273,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7c981500019b6284801718f5429bf451","name":"ros-humble-rcpputils","requires":[],"size":48024,"version":"2.4.0","binstar":{"package_id":"6392701096cc569e105e4c39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e89e3f5caf3ee0382f5102fa920ae86c3ef743803e8e27ca8f36f6d594f1ed5a"},"ros-humble-rcpputils-2.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675725567788,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6537548ba99b7ebd824f79bcbb1eed6d","name":"ros-humble-rcpputils","requires":[],"size":50010,"version":"2.4.0","binstar":{"package_id":"6392701096cc569e105e4c39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"38157b3e2fc219a3404380310d22015441515c0b1cbec34478ea8fb8e0b6cd7f"},"ros-humble-rviz-rendering-tests-11.2.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","qt-main >=5.15.6,<5.16.0a0","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-rendering","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549350579,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4144014953b58cf51b36c4098da27cf5","name":"ros-humble-rviz-rendering-tests","requires":[],"size":9481,"version":"11.2.4","binstar":{"package_id":"63927012ed6d66bf8f955b1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"708b72325165866f1e99a605fc43ae46573c713d075c0113d02e3005ca4815f8"},"ros-humble-rviz-rendering-tests-11.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-rendering","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675725780029,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0bc68f4e2e6b932997319190861b5074","name":"ros-humble-rviz-rendering-tests","requires":[],"size":12152,"version":"11.2.5","binstar":{"package_id":"63927012ed6d66bf8f955b1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3af79ff4b87009375ae354fe3ebfdbb5c6515ab984513cf05cc61f30e503416e"},"ros-humble-class-loader-2.2.0-py310h648553b_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-console-bridge-vendor","ros-humble-rcpputils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h648553b_2","timestamp":1670549938523,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d8dccc7192ab2d7f30b0db29c015d615","name":"ros-humble-class-loader","requires":[],"size":49499,"version":"2.2.0","binstar":{"package_id":"639270d813f4c7e7c54da50d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45861ab6555d9f73729b94dee07b6d0d54f38f475d02d08a4e16610cd06de6cb"},"ros-humble-class-loader-2.2.0-py310h2eb544e_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-console-bridge-vendor","ros-humble-rcpputils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h2eb544e_3","timestamp":1675726258183,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b51a16cb2d3ea2e82b4556f00efc4d8","name":"ros-humble-class-loader","requires":[],"size":51627,"version":"2.2.0","binstar":{"package_id":"639270d813f4c7e7c54da50d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b339a9a4081c39a46bef911d821e4fa0d118eaf311fb743200caaf26543ea05"},"ros-humble-rcl-logging-interface-2.3.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549848023,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"331394e037827646e3e06d16569da2b1","name":"ros-humble-rcl-logging-interface","requires":[],"size":15968,"version":"2.3.1","binstar":{"package_id":"639270d946f81babcaf4beda","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"529688f3c20cc8ee55f4e7d8f0389fc7ab1f0e9dcccb833c8c435b06c19f66fc"},"ros-humble-rcl-logging-interface-2.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675726144737,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4590986257cdffe11d2a12ddda391878","name":"ros-humble-rcl-logging-interface","requires":[],"size":17987,"version":"2.3.1","binstar":{"package_id":"639270d946f81babcaf4beda","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8f4352b6394bef1c8751437f0461fc1a7d064f3ced124d84c6a58297d32bb36d"},"ros-humble-libyaml-vendor-1.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","yaml >=0.2.5,<0.3.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310hd751b12_2","timestamp":1670550186565,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dcd738fee9dbe1dacf768aeffb46c5ca","name":"ros-humble-libyaml-vendor","requires":[],"size":22358,"version":"1.2.2","binstar":{"package_id":"639271504f66fd116f4f85ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce1323e3fe36ac54c0cbb8f540e610332993f3b49b6fef6174c7514759d0fddf"},"ros-humble-libyaml-vendor-1.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","yaml >=0.2.5,<0.3.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310h927cc32_3","timestamp":1675726599013,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8771adb79ec7b0c2a591f7a609a9eb6f","name":"ros-humble-libyaml-vendor","requires":[],"size":13898,"version":"1.2.2","binstar":{"package_id":"639271504f66fd116f4f85ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d4b32dd022d42851f1d564df212cf7206fe6325d510e7bd4f8a29cacb6f9d6ab"},"ros-humble-rmw-6.1.1-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549955192,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"de36d85f534be17155829f189a3604d3","name":"ros-humble-rmw","requires":[],"size":67284,"version":"6.1.1","binstar":{"package_id":"639271512dd706205561d5ef","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6530a034d4d817a652eecfaeb3b759e9fecd41ffe228e60c1870c119c85bb6b3"},"ros-humble-rmw-6.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675726359439,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c6d1fb1485c2cb5cbe4f990c07efc6f","name":"ros-humble-rmw","requires":[],"size":69496,"version":"6.1.1","binstar":{"package_id":"639271512dd706205561d5ef","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bf9dd88c07ab663efeee2558e5dff34a933361c3870d99e046bbd2c8776bcc9e"},"ros-humble-rosidl-runtime-cpp-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-cmake","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670549715385,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c273d90c804cc7b8d6087b8804a2617f","name":"ros-humble-rosidl-runtime-cpp","requires":[],"size":18490,"version":"3.1.4","binstar":{"package_id":"63927153ed6d66bf8f95a0ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4c44647ba4cef268b5c0e50cc7982c2e4c226fe1f668e56f7a54dcc66eb37b2f"},"ros-humble-rosidl-runtime-cpp-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675726124566,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f295316439fc35f0c9e99190dd1a494e","name":"ros-humble-rosidl-runtime-cpp","requires":[],"size":20540,"version":"3.1.4","binstar":{"package_id":"63927153ed6d66bf8f95a0ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4f026bfd697c5a7ff091fad10f58d84e25cbe780bb232ab92ee6818c1963f7b1"},"ros-humble-rosidl-typesupport-introspection-c-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hd751b12_2","timestamp":1670676971555,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f99c786d84eba94374b3dc46d3132fc2","name":"ros-humble-rosidl-typesupport-introspection-c","requires":[],"size":27878,"version":"3.1.4","binstar":{"package_id":"63927154ead2dcc8c2dd97bb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a99ca4004d124bb33306c4af157bc1ede6daf6e3b8f275de6a3e7fa54a569e7f"},"ros-humble-rosidl-typesupport-introspection-c-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675726494382,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6eab0ce21dab1c88ca8af926071b6d45","name":"ros-humble-rosidl-typesupport-introspection-c","requires":[],"size":28527,"version":"3.1.4","binstar":{"package_id":"63927154ead2dcc8c2dd97bb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dd487afcaf1e27e4137ff21704e54207d683ecf2924514dd2b6d4bc8073786ef"},"ros-humble-rosidl-generator-c-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hd751b12_2","timestamp":1670676834480,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5403d2d23b18b31507818042031aff39","name":"ros-humble-rosidl-generator-c","requires":[],"size":28200,"version":"3.1.4","binstar":{"package_id":"63927155a2b7121008029648","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"386b31c0f16cad307ee6abbd5283b7e7162d5e99fed14bb19a2734c519bd7dd1"},"ros-humble-rosidl-generator-c-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675726223355,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"307c6f58d690bba69d9e9145e6fa1728","name":"ros-humble-rosidl-generator-c","requires":[],"size":28857,"version":"3.1.4","binstar":{"package_id":"63927155a2b7121008029648","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0e97ef022d5036911adb7a4ed3d103a64b7dde4f07f444e9ecdc66b2378276ea"},"ros-humble-rcl-logging-spdlog-2.3.1-py310hcf0c85d_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-rcl-logging-interface","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-spdlog-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","spdlog >=1.11.0,<1.12.0a0"],"build":"py310hcf0c85d_2","timestamp":1670551012340,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3fb033140e9f889b242ee1e77b7360a1","name":"ros-humble-rcl-logging-spdlog","requires":[],"size":20808,"version":"2.3.1","binstar":{"package_id":"63927293e6a2f79ab82e0736","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb8b6d1f93128a8c48f86c95d7db786a2aac851be31bb385b9f70520cc9454a7"},"ros-humble-rcl-logging-spdlog-2.3.1-py310he44a079_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-logging-interface","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-spdlog-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","spdlog >=1.11.0,<1.12.0a0"],"build":"py310he44a079_3","timestamp":1675727519489,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f94248fdf30763f27b3c662a3ba52d3e","name":"ros-humble-rcl-logging-spdlog","requires":[],"size":22887,"version":"2.3.1","binstar":{"package_id":"63927293e6a2f79ab82e0736","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8b58c25c72dd7c77c2bddd9589f3598ce4c831c1584e9e50918007f2c3d88434"},"ros-humble-rosidl-generator-cpp-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hd751b12_2","timestamp":1670677065112,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"15867cd89c27a8ae800806241049de0f","name":"ros-humble-rosidl-generator-cpp","requires":[],"size":30067,"version":"3.1.4","binstar":{"package_id":"639272946a03c9fad25886b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57d46ebacacf4bc96391d5ef26b6406e61fa5424da34885edd11764b79b492e3"},"ros-humble-rosidl-generator-cpp-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675727111412,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fd25e3ba9fc895ec4f17a41a662afb8b","name":"ros-humble-rosidl-generator-cpp","requires":[],"size":30728,"version":"3.1.4","binstar":{"package_id":"639272946a03c9fad25886b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8f3a40d743f4fbf2ef5822680d1a73fa4977c8794e94bac1d6cef76446de9715"},"ros-humble-pluginlib-5.1.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-ament-index-cpp","ros-humble-class-loader","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670551084973,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"53057734dc59e3892787497f84ae6b1d","name":"ros-humble-pluginlib","requires":[],"size":26974,"version":"5.1.0","binstar":{"package_id":"63927296a2b712100802eab3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6a07a386ed85ab257af49651ef528c08866c9a52aab4e043d22297921e9bc690"},"ros-humble-pluginlib-5.1.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-class-loader","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675727620224,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"18c229aba56e36f32b8912e45718dac6","name":"ros-humble-pluginlib","requires":[],"size":28740,"version":"5.1.0","binstar":{"package_id":"63927296a2b712100802eab3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2ead6c329a67e62c90782472723dd0f1f4853730e4570963feb38b3746f8012b"},"ros-humble-rcl-yaml-param-parser-5.3.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-libyaml-vendor","ros-humble-rmw","ros-humble-ros-workspace","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*","yaml >=0.2.5,<0.3.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310hd751b12_2","timestamp":1670550896724,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"199f7d8e0c985465e465003753200506","name":"ros-humble-rcl-yaml-param-parser","requires":[],"size":29587,"version":"5.3.2","binstar":{"package_id":"639272974f66fd116f4fd2e8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48bb8794402501a89aec87da8382aca63fdfa78481bb54208a924911d0bdbc1b"},"ros-humble-rcl-yaml-param-parser-5.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-libyaml-vendor","ros-humble-rmw","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","yaml >=0.2.5,<0.3.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py310h927cc32_3","timestamp":1675727383196,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83627810d6ae37d8a7db05c0035432a8","name":"ros-humble-rcl-yaml-param-parser","requires":[],"size":31728,"version":"5.3.2","binstar":{"package_id":"639272974f66fd116f4fd2e8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3d9a1a1bcab2c81afdcaa616f7d903b9abb0d1ae56de63474040947b18dc9c1"},"ros-humble-rosidl-typesupport-introspection-cpp-3.1.4-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hd751b12_2","timestamp":1670677189561,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"df69a8945efeb2e88e011db2c7a0cf63","name":"ros-humble-rosidl-typesupport-introspection-cpp","requires":[],"size":28068,"version":"3.1.4","binstar":{"package_id":"63927299e6a2f79ab82e0831","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7888d2585c0413c3f9fe6cd9423b340e18d2cd7d3ffece04f1130045f2cc3c39"},"ros-humble-rosidl-typesupport-introspection-cpp-3.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675727255446,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6e676104da579df9908bd74898251743","name":"ros-humble-rosidl-typesupport-introspection-cpp","requires":[],"size":28665,"version":"3.1.4","binstar":{"package_id":"63927299e6a2f79ab82e0831","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"01d5b0873dcfa202bf04eb6c6d48179ece5a16baa81248423ff24938d161015e"},"ros-humble-urdf-2.6.0-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-pluginlib","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf-parser-plugin","ros-humble-urdfdom","ros-humble-urdfdom-headers","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670559552326,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2662ccd7e5c0efaa60a08ef63ee74b73","name":"ros-humble-urdf","requires":[],"size":101315,"version":"2.6.0","binstar":{"package_id":"639274122dd7062055627893","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"544a6a7715abb646ba6b0966ae071487bb58f876460c3d0e30a1995b52844dd7"},"ros-humble-urdf-2.6.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf-parser-plugin","ros-humble-urdfdom","ros-humble-urdfdom-headers","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675733772511,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7f5262c59ebaac46e9242dec3a1d28c1","name":"ros-humble-urdf","requires":[],"size":103680,"version":"2.6.0","binstar":{"package_id":"639274122dd7062055627893","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b58d830feda19a667bb6ca1dba644dc9124e39899cbe5231dc29273e922f1598"},"ros-humble-rosidl-typesupport-fastrtps-cpp-2.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-ros","ros-humble-ament-index-python","ros-humble-fastcdr","ros-humble-fastrtps-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-cpp","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670793652203,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f8a2a9c1b89dfceaaef7649cf62daa16","name":"ros-humble-rosidl-typesupport-fastrtps-cpp","requires":[],"size":31673,"version":"2.2.0","binstar":{"package_id":"6392741354e9ace854c69ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2247d2486e19c7e0fcc71eb9392fd5d4ced7e0bef2f66c3ac956006e91b47166"},"ros-humble-rosidl-typesupport-fastrtps-cpp-2.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-ros","ros-humble-ament-index-python","ros-humble-fastcdr","ros-humble-fastrtps-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-cpp","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675733615373,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"df876776f17d0065eda9ceb1bdc26850","name":"ros-humble-rosidl-typesupport-fastrtps-cpp","requires":[],"size":32027,"version":"2.2.0","binstar":{"package_id":"6392741354e9ace854c69ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8c21be2cdc6c76afe70749ddf128fe374d3205b3459ee02e6e96220c88db8f75"},"ros-humble-qt-gui-cpp-2.2.2-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pep517","pyqt-builder","python","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-pluginlib","ros-humble-qt-gui","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hd751b12_2","timestamp":1670968033431,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c941db35467fe0f698419c6b47d3d3f","name":"ros-humble-qt-gui-cpp","requires":[],"size":194611,"version":"2.2.2","binstar":{"package_id":"63927413ed6d66bf8f95f42e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ab3caba326bc081a430791421abc514617a1ce39b771a651f6ab7ccc75af0d42"},"ros-humble-qt-gui-cpp-2.2.2-py310hd751b12_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","pep517","pyqt-builder","python","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-pluginlib","ros-humble-qt-gui","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hd751b12_3","timestamp":1675732241199,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"52d4ef044545b705f1ae3671ed502a00","name":"ros-humble-qt-gui-cpp","requires":[],"size":582447,"version":"2.2.2","binstar":{"package_id":"63927413ed6d66bf8f95f42e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1c1829e888cdce81b5d451ff564e1b09dec33d6574ce2e57919c3caf2e72c1b2"},"ros-humble-rosidl-typesupport-fastrtps-c-2.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-ros","ros-humble-ament-index-python","ros-humble-fastcdr","ros-humble-fastrtps-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670793797925,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b28aef1d5d413a95fcb9bc21632dd201","name":"ros-humble-rosidl-typesupport-fastrtps-c","requires":[],"size":29288,"version":"2.2.0","binstar":{"package_id":"63927546bbbc2b1e9631332b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d2284052a4ffb33ef8f5cc4f1c907b4eb78d4566826ede95241a35223b529d2"},"ros-humble-rosidl-typesupport-fastrtps-c-2.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-ros","ros-humble-ament-index-python","ros-humble-fastcdr","ros-humble-fastrtps-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-interface","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675734138569,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"73e58cc4465b5ad49c09e01cb572cb98","name":"ros-humble-rosidl-typesupport-fastrtps-c","requires":[],"size":29596,"version":"2.2.0","binstar":{"package_id":"63927546bbbc2b1e9631332b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bfe0ac40f318b6ab654e43512b477c798ac9c21a20ecdfe41f57207c0132cdc0"},"ros-humble-kdl-parser-2.6.3-py310hd751b12_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.10.*","python_abi 3.10.*","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-urdf","ros-humble-urdfdom-headers","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310hd751b12_2","timestamp":1670560145712,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b6ddba40f33911fcd88972bbf8ed481","name":"ros-humble-kdl-parser","requires":[],"size":28433,"version":"2.6.3","binstar":{"package_id":"6392754a46bec18b89e567c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cce49e7f3198b3f8c16c39ad10c7bcb6b70b06b4678ca507911efd713ecd3bcb"},"ros-humble-kdl-parser-2.6.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-orocos-kdl-vendor","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-urdf","ros-humble-urdfdom-headers","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675734279464,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f6ddfed88052515f7960856dcd166f56","name":"ros-humble-kdl-parser","requires":[],"size":31700,"version":"2.6.4","binstar":{"package_id":"6392754a46bec18b89e567c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"abdb473d83f7ce1926e54ddacc63400dd388483ba45fbf515e8942a13a2c72e7"},"ros-humble-turtlebot3-description-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678331613250,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"32787c240434ed3f86887b704818f4d7","name":"ros-humble-turtlebot3-description","requires":[],"size":7794247,"version":"2.1.5","binstar":{"package_id":"6392755246f81babcaf7e479","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91f74ee7fbad3570e73d83e80411f92af1081ee41578b68db4dc31968e64e7f0"},"ros-humble-rosidl-generator-py-0.14.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-python-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-interface","ros-humble-rpyutils","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807225510,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"36e251f47d73818d1ad53d2f309de4b1","name":"ros-humble-rosidl-generator-py","requires":[],"size":38263,"version":"0.14.4","binstar":{"package_id":"639276686d07f25db97e7d03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d8d14a31f1632d8e48018a426f0cee6e551322f95c0b2343bc14045fccc7010"},"ros-humble-rosidl-generator-py-0.14.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-index-python","ros-humble-python-cmake-module","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-parser","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-interface","ros-humble-rpyutils","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675735200297,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f873127109f11a70da249566f527397a","name":"ros-humble-rosidl-generator-py","requires":[],"size":38628,"version":"0.14.4","binstar":{"package_id":"639276686d07f25db97e7d03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ac2a7177a32b37e394ebaad6ee93785a7977259f645220eff4af159f0133a714"},"ros-humble-rosidl-typesupport-c-2.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670805141191,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"439e2f75f78d41362e22f94a0f81fb8b","name":"ros-humble-rosidl-typesupport-c","requires":[],"size":30138,"version":"2.0.0","binstar":{"package_id":"6392766a2dd7062055631669","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c3a00df215f3c9aa9908a075d1c919bb39e69e8626a94b2ce00c5e14837c6b1"},"ros-humble-rosidl-typesupport-c-2.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675734640965,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cf18272d156237e39c8c73bc43023405","name":"ros-humble-rosidl-typesupport-c","requires":[],"size":30519,"version":"2.0.0","binstar":{"package_id":"6392766a2dd7062055631669","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"020e36c899d198e218d3b1af4a75733e6a71c56c4bea98478ee9e89cdb282ae7"},"ros-humble-rosidl-typesupport-cpp-2.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670805871502,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"431ca2c34bc93fc297e34bd5270042de","name":"ros-humble-rosidl-typesupport-cpp","requires":[],"size":29533,"version":"2.0.0","binstar":{"package_id":"6392766c358aafdd3d89048e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79d151914a717489cf2cf1978ae2b09a2f7e9d89f4c29a495d73cdf128ce691a"},"ros-humble-rosidl-typesupport-cpp-2.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-cli","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-interface","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675735096089,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"63cae3439b7fe5e66d9c21352384e611","name":"ros-humble-rosidl-typesupport-cpp","requires":[],"size":29927,"version":"2.0.0","binstar":{"package_id":"6392766c358aafdd3d89048e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8166500ab9a69b394c8d3fe0cf9a0c68040c9219b54e0876ce43e326e3095298"},"ros-humble-rosidl-default-runtime-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.*","python_abi 3.10.*","ros-humble-ros-workspace","ros-humble-rosidl-generator-py","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.2.*","ros2-distro-mutex 0.2.*"],"build":"py310h927cc32_2","timestamp":1670560978585,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f483fb64ab963a0be7d82167039b9444","name":"ros-humble-rosidl-default-runtime","requires":[],"size":9722,"version":"1.2.0","binstar":{"package_id":"6392773c2dd706205563d1ba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"70226c7f9996f550cb9ed5380b6ce6ba1450c6d685cac36cc9637004d8087fd5"},"ros-humble-rosidl-default-runtime-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-generator-py","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675735303231,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"387f09dad0e715e7481c06417010cda6","name":"ros-humble-rosidl-default-runtime","requires":[],"size":11911,"version":"1.2.0","binstar":{"package_id":"6392773c2dd706205563d1ba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"51a02b5b8adf2ab93ce1e97400a4bc14ace3cbc2965d33fac49166abda6758c3"},"ros-humble-rosidl-default-generators-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-generator-cpp","ros-humble-rosidl-generator-py","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807315507,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"25d9d23008d7eb1b24cce20a7e5bf2a1","name":"ros-humble-rosidl-default-generators","requires":[],"size":12525,"version":"1.2.0","binstar":{"package_id":"6392773e46bec18b89e5ce96","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3e2b89f80793b585a1380412f0f9a4d391483421a5d817d2738cf4456eef4b78"},"ros-humble-rosidl-default-generators-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake-core","ros-humble-ros-workspace","ros-humble-rosidl-cmake","ros-humble-rosidl-generator-c","ros-humble-rosidl-generator-cpp","ros-humble-rosidl-generator-py","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675735398566,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6d0dd495af51c6898fbdca08f5ce9ef3","name":"ros-humble-rosidl-default-generators","requires":[],"size":12773,"version":"1.2.0","binstar":{"package_id":"6392773e46bec18b89e5ce96","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ef07db32fdb05d3f14a18776273f6221235fa0c45810121ca5163b6cd3c64e05"},"ros-humble-rmw-dds-common-1.6.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807900455,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a1a8339e8938e7e14fbcd34c18d60767","name":"ros-humble-rmw-dds-common","requires":[],"size":117773,"version":"1.6.0","binstar":{"package_id":"63927888ead2dcc8c2e06608","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cebda4d14614e73fe694428f75edf8828b785a28fb47a3eefcf1786d57af100a"},"ros-humble-rmw-dds-common-1.6.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675736345892,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c62fb647cde42142178fa01d1e8034c5","name":"ros-humble-rmw-dds-common","requires":[],"size":118285,"version":"1.6.0","binstar":{"package_id":"63927888ead2dcc8c2e06608","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a3000cdc93fa114dcb8df783b7476f927c23b4112717c61608b55f9f0524b467"},"ros-humble-lifecycle-msgs-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808069679,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9468124aa0cc7d06b57475d9cb59d80","name":"ros-humble-lifecycle-msgs","requires":[],"size":136535,"version":"1.2.1","binstar":{"package_id":"6392788966b3e4e3dec23bf0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f8fc8c6a79b99f5137350c522b006a16d7eb69d231e9ab92f0dc14251d317fb1"},"ros-humble-lifecycle-msgs-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675736542972,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"695fdfbab0e0988157e7d6884c7753ce","name":"ros-humble-lifecycle-msgs","requires":[],"size":135392,"version":"1.2.1","binstar":{"package_id":"6392788966b3e4e3dec23bf0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"97f67541db59ccff5f9e3b88c72f9cb8f3ad5b2d942e9fc6b7a68aca3846f283"},"ros-humble-unique-identifier-msgs-2.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807635730,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fc43f81911498b2b7161baa9f49400ff","name":"ros-humble-unique-identifier-msgs","requires":[],"size":47242,"version":"2.2.1","binstar":{"package_id":"6392788a4f66fd116f531271","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6ec64e8dec474411b6303157e41c25f6ca44a890ea4039a69e7c8e247abe5e7c"},"ros-humble-unique-identifier-msgs-2.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675736011092,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e9690bf42e909798b90f651dc766f272","name":"ros-humble-unique-identifier-msgs","requires":[],"size":47765,"version":"2.2.1","binstar":{"package_id":"6392788a4f66fd116f531271","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"32b59ba0c881408e6f02d597a17567798ab16cd358047236afda3696dcf520e7"},"ros-humble-builtin-interfaces-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670807764704,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ea3b3c984772ad4e3078ac65097b6d4a","name":"ros-humble-builtin-interfaces","requires":[],"size":52715,"version":"1.2.1","binstar":{"package_id":"6392788ce6a2f79ab82f5cc4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"41383fb90a4fe0ea93789ae11c4a435c876a59f56504a525f05dfea08a9ddd3c"},"ros-humble-builtin-interfaces-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675736170368,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"12fa7949bd961b7ff076c1b1452957ef","name":"ros-humble-builtin-interfaces","requires":[],"size":53249,"version":"1.2.1","binstar":{"package_id":"6392788ce6a2f79ab82f5cc4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b90d1b7f6010d584f4283ff7b171cbd1c8234d938e76d0fda09988583af8ad06"},"ros-humble-std-srvs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808199984,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6694bf449edc9b047893e503ae0e7f01","name":"ros-humble-std-srvs","requires":[],"size":76838,"version":"4.2.2","binstar":{"package_id":"6392788dbbbc2b1e963254f3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dbadbeda6fce174b894fdec0637be3d69a3b26b7cdb29860282885a98e8f8919"},"ros-humble-std-srvs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675736710584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"03eaea5fa0261017df86807cb88de1ac","name":"ros-humble-std-srvs","requires":[],"size":76961,"version":"4.2.3","binstar":{"package_id":"6392788dbbbc2b1e963254f3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"84f19ec78e08214a28a34af1f32e308d2fd5a097a2a63c1ea123a5aa088cb6ff"},"ros-humble-pendulum-msgs-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808844842,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a2035fab55d39a7138d9d0e199e75895","name":"ros-humble-pendulum-msgs","requires":[],"size":65978,"version":"0.20.2","binstar":{"package_id":"639279dd46bec18b89e66178","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ecd5794c45fe504fef92c36a8496e773ca79deaa22a5567cbe4b555e18d57f01"},"ros-humble-pendulum-msgs-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737209576,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d48bb43ff551b8c015f57c8dc4c8bc4e","name":"ros-humble-pendulum-msgs","requires":[],"size":66515,"version":"0.20.3","binstar":{"package_id":"639279dd46bec18b89e66178","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"25affd4906d1db05835076626f3bbf4cb666db7cd098f72022fd716f33933ad1"},"ros-humble-rmw-fastrtps-shared-cpp-6.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808867897,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9eb1424717310633e01e756637d1c99b","name":"ros-humble-rmw-fastrtps-shared-cpp","requires":[],"size":152186,"version":"6.2.2","binstar":{"package_id":"63927a03a2b712100807e341","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"663dae1de93beaf8ce456a547c6d0e457c553e72377bfc23594b1b6157535f75"},"ros-humble-rmw-fastrtps-shared-cpp-6.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737386337,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6fb199625ac006df0637e2452762b89e","name":"ros-humble-rmw-fastrtps-shared-cpp","requires":[],"size":152561,"version":"6.2.2","binstar":{"package_id":"63927a03a2b712100807e341","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e843177a899793df87d924f489966c8014337fd448bfadc790e8f5f9ca31697a"},"ros-humble-action-msgs-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808658718,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7efe1a85e72f6d5c7b2b2bfc5c11bc3b","name":"ros-humble-action-msgs","requires":[],"size":86350,"version":"1.2.1","binstar":{"package_id":"63927a054f66fd116f536fc2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f2ad03d7adadfa6b05de127011bdf0ade8dc850b515fe265d3bd92c2544243d2"},"ros-humble-action-msgs-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737167439,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d506b7122bd435ca9833245117bf8306","name":"ros-humble-action-msgs","requires":[],"size":86911,"version":"1.2.1","binstar":{"package_id":"63927a054f66fd116f536fc2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"afada21b3cd93d9802c922c95c6957993c0bf2a2f3573dfd01fed4c264527927"},"ros-humble-rcl-interfaces-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670809377840,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4a23d1811a3521c921f4d0ee45f9b6e6","name":"ros-humble-rcl-interfaces","requires":[],"size":259448,"version":"1.2.1","binstar":{"package_id":"63927a05bbbc2b1e96338da0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5eb25ad93eac89076096394bcca75f16e229c6a553c083b2ae1ee045cbcfbc8"},"ros-humble-rcl-interfaces-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737880216,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ec7c2c1a9e882bcfd50b5e6489b944a","name":"ros-humble-rcl-interfaces","requires":[],"size":263286,"version":"1.2.1","binstar":{"package_id":"63927a05bbbc2b1e96338da0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"130c456de05184ad0f478d73908890da907dbe08f5b92890e2233d2bd792d52c"},"ros-humble-rmw-connextdds-common-0.11.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-rti-connext-dds-cmake-module","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808974964,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a1da5c9cb6ccdb443715e76c622bbe01","name":"ros-humble-rmw-connextdds-common","requires":[],"size":31804,"version":"0.11.1","binstar":{"package_id":"63927a06ead2dcc8c2e14290","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a2e66f3add9c43358b1a4b15501993a458d0ae512d55cc4f8b9ccc543ddc41a"},"ros-humble-rmw-connextdds-common-0.11.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-rti-connext-dds-cmake-module","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737489154,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"26503441d026bb3443939bc8bf0a9006","name":"ros-humble-rmw-connextdds-common","requires":[],"size":32108,"version":"0.11.1","binstar":{"package_id":"63927a06ead2dcc8c2e14290","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f099d640af56e1ebd40f7a948566d68045cf750fcf1d0c5d0db6af56a6708eef"},"ros-humble-rmw-cyclonedds-cpp-1.3.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cyclonedds","ros-humble-iceoryx-binding-c","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670809149037,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"215b71b178270fad102ae6b4236d69c6","name":"ros-humble-rmw-cyclonedds-cpp","requires":[],"size":169278,"version":"1.3.4","binstar":{"package_id":"63927a0746f81babcaf9dad8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bd9d8ea93d655b5c5908794321d231031aec5ea5a93e85b2fe626b2cd1d4bee3"},"ros-humble-rmw-cyclonedds-cpp-1.3.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cyclonedds","ros-humble-iceoryx-binding-c","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737649119,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"84048015eb67a5668d2214ac116f8562","name":"ros-humble-rmw-cyclonedds-cpp","requires":[],"size":169492,"version":"1.3.4","binstar":{"package_id":"63927a0746f81babcaf9dad8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1b70c7a59b863be04690f4a0c486216bf126e809712d1d263a45fa86440da599"},"ros-humble-controller-manager-msgs-2.18.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-lifecycle-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670809309705,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dbe321b301c037d5a7e32e63b5b3cade","name":"ros-humble-controller-manager-msgs","requires":[],"size":236474,"version":"2.18.0","binstar":{"package_id":"63927a21d9a997aae720c9d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cc08a5d2cd4b1dfe614f6558914149d5a9d24213dc34fa77f7abf455912cc6d5"},"ros-humble-controller-manager-msgs-2.22.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-lifecycle-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737752613,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"803d25acdd24f99e97d453e2b9babde4","name":"ros-humble-controller-manager-msgs","requires":[],"size":229452,"version":"2.22.0","binstar":{"package_id":"63927a21d9a997aae720c9d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"949e61b17bd36a01a41b253ddd65bc1162240981cbf3b1e4ba0ac28090a324a7"},"ros-humble-std-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808824804,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"22e398d49384de5932e62c77238ed805","name":"ros-humble-std-msgs","requires":[],"size":236282,"version":"4.2.2","binstar":{"package_id":"63927a226d07f25db97eb9ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fe5421cb0183eeb1693b1f8cba33fcab33a29085937ac6a73782b7589ca69d02"},"ros-humble-std-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737246955,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aa7ce44fd22829455a5741de4499d69d","name":"ros-humble-std-msgs","requires":[],"size":239359,"version":"4.2.3","binstar":{"package_id":"63927a226d07f25db97eb9ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e33fc2936877f65b030d402e66175fdb84e3e9d03efdfeb105227416ec479f8d"},"ros-humble-rosgraph-msgs-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670809105285,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"817858ce08a3d0e26201b23f09ede2ec","name":"ros-humble-rosgraph-msgs","requires":[],"size":45750,"version":"1.2.1","binstar":{"package_id":"63927a244f66fd116f53792d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5362edd6ddf0eb3c00f47664d871a0bcd9b84f8a5d81ee31e043cad412ee2f66"},"ros-humble-rosgraph-msgs-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737548908,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"16d24568628a70afda2784a626eee158","name":"ros-humble-rosgraph-msgs","requires":[],"size":46184,"version":"1.2.1","binstar":{"package_id":"63927a244f66fd116f53792d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"eb2ce795b20464095ce3742cd59ce17abe29b305b1b03ba0039fdaef3d31bfaa"},"ros-humble-statistics-msgs-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808975408,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"603f7e32db1cf4ffad10774f41b106a9","name":"ros-humble-statistics-msgs","requires":[],"size":73603,"version":"1.2.1","binstar":{"package_id":"63927a25ed6d66bf8f9728fd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fe212b0218e7beb91dab3b4ce1762dc6df0357149aae0569165a2a250f8e01a2"},"ros-humble-statistics-msgs-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737407331,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5716a3c6d08338f35e488cc9b26c58d3","name":"ros-humble-statistics-msgs","requires":[],"size":74014,"version":"1.2.1","binstar":{"package_id":"63927a25ed6d66bf8f9728fd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cc2f8a6a793185f1389b1ccfe957912a72b37d4f02fb5cc520ba64c6c4c8dc0b"},"ros-humble-rosbag2-interfaces-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670809495168,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d9c6e4dfbe972ba8f98578732851fef7","name":"ros-humble-rosbag2-interfaces","requires":[],"size":156741,"version":"0.15.3","binstar":{"package_id":"63927a26ed6d66bf8f97291f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"353341b75c0f124a0a738bb85ad546df0b8e571a99f552b3dfa7a4faa168966e"},"ros-humble-rosbag2-interfaces-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737955102,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5eda73290c3e91993093ffb011dd7888","name":"ros-humble-rosbag2-interfaces","requires":[],"size":153726,"version":"0.15.4","binstar":{"package_id":"63927a26ed6d66bf8f97291f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fcae1c42e0206dfc3848914046620cd4b2d2beb2643b8759f1d8818875f030a2"},"ros-humble-turtlebot3-msgs-2.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678331358531,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"64dd93a84371873d67f1649f52a7dd3b","name":"ros-humble-turtlebot3-msgs","requires":[],"size":148586,"version":"2.2.3","binstar":{"package_id":"63927ba346bec18b89e70113","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"adf11a533499341084621649c26033d38330266e8a15201152ede8ccb43bfe5c"},"ros-humble-action-tutorials-interfaces-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811354430,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5ee5ba6df9cc66c4456d2bb20e5bfccb","name":"ros-humble-action-tutorials-interfaces","requires":[],"size":97509,"version":"0.20.2","binstar":{"package_id":"63927ba7114c465c98baaaad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6fa4cf5ba61ddf0c8035ebcc745a5a67b52240e20e9b7fc102168f24bac26fdb"},"ros-humble-action-tutorials-interfaces-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739051817,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f7571ec3c46ee42a2748cce55965d2ee","name":"ros-humble-action-tutorials-interfaces","requires":[],"size":98099,"version":"0.20.3","binstar":{"package_id":"63927ba7114c465c98baaaad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2994e83f7f3ebaad4be1770b863daea63f88962178cbc937568379bfafdf459f"},"ros-humble-ros2cli-test-interfaces-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811188270,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5a9061a8cd92698d020ad22613c17a39","name":"ros-humble-ros2cli-test-interfaces","requires":[],"size":127910,"version":"0.18.4","binstar":{"package_id":"63927bb146f81babcafa4cb2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ddfb8e7d780f2a961a65efab6556278eeba4153b68bcfb5e77d4c6e514c6a91f"},"ros-humble-ros2cli-test-interfaces-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675738894757,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5b496255c55008ff7af929ce5778e24e","name":"ros-humble-ros2cli-test-interfaces","requires":[],"size":128250,"version":"0.18.5","binstar":{"package_id":"63927bb146f81babcafa4cb2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30d4200c230bb84c955a8cde1358ca77b37342e7143012400fdcb9c34c6b20d9"},"ros-humble-example-interfaces-0.9.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670810993016,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"461a2fdaae3ef3ed45997fa092085895","name":"ros-humble-example-interfaces","requires":[],"size":313467,"version":"0.9.3","binstar":{"package_id":"63927bb22b3749bdb8630db5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"61f79b5daf5ca33d8d92e9b88144408172175bc7491ed7f3bd84197d3b83f467"},"ros-humble-example-interfaces-0.9.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675738716516,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3fb1c2558df0d0bff7e0c67a1cab2431","name":"ros-humble-example-interfaces","requires":[],"size":317756,"version":"0.9.3","binstar":{"package_id":"63927bb22b3749bdb8630db5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"70961b7c1e3495a030e5c39eafc1e3a2823b6102c980289d0d381ac4bcf0e84b"},"ros-humble-actionlib-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670810698601,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6a1db45edd6f5f2cf512c97c19b64e21","name":"ros-humble-actionlib-msgs","requires":[],"size":73760,"version":"4.2.2","binstar":{"package_id":"63927bb346bec18b89e702e4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f2a19d89e96d41d97b0faa24eb5e11c4a73eb223dd21373166b303d94954d4d6"},"ros-humble-actionlib-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675738435927,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"46288697f0549064bfb3c3f31a98a138","name":"ros-humble-actionlib-msgs","requires":[],"size":74325,"version":"4.2.3","binstar":{"package_id":"63927bb346bec18b89e702e4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e802be7bdc7677e29a5eee6c962a32f5a76386197faacd3bbef7d8e7be9e8558"},"ros-humble-rmw-connextdds-0.11.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-rmw-connextdds-common","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670810976062,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3133aadb785da912d9518db2ffdc0ce8","name":"ros-humble-rmw-connextdds","requires":[],"size":11253,"version":"0.11.1","binstar":{"package_id":"63927c1946f81babcafaba9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ecd48e1017cdade4f308fabd017ca47f0a3d3b39f8ed5a26dff1becc25399233"},"ros-humble-rmw-connextdds-0.11.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-rmw-connextdds-common","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675738824090,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee54bff0d89d3f429c21bc95a18d0ccd","name":"ros-humble-rmw-connextdds","requires":[],"size":11533,"version":"0.11.1","binstar":{"package_id":"63927c1946f81babcafaba9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6104c6ccd884ea54c404936874a9ad63e44d3df18c079cb7054a50bba2f12651"},"ros-humble-geometry-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811305172,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"97e1183a687e17aa19cf3fe0d1d53f4c","name":"ros-humble-geometry-msgs","requires":[],"size":237451,"version":"4.2.2","binstar":{"package_id":"63927c1a114c465c98babab3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"155632398e6904929263bce4a4a772c91aca490a186012bfee78457e1e240bdb"},"ros-humble-geometry-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739115452,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eb0f0578adf4dfc003aed7b15e2ad941","name":"ros-humble-geometry-msgs","requires":[],"size":233285,"version":"4.2.3","binstar":{"package_id":"63927c1a114c465c98babab3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d238099739921d2e5001ca89b2af511940dfa99734770230024f2746697d8d9e"},"ros-humble-composition-interfaces-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811508859,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4aae71efd1ee5c9a4e0d63f885815303","name":"ros-humble-composition-interfaces","requires":[],"size":109264,"version":"1.2.1","binstar":{"package_id":"63927c1b4f66fd116f543aae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b29fa47ff0b9bc098fa716203692c8302dc7eef5620f5ef6a27f89f9b20d166d"},"ros-humble-composition-interfaces-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739305173,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ffc38cfa07301f9b096f000ee05628f1","name":"ros-humble-composition-interfaces","requires":[],"size":111837,"version":"1.2.1","binstar":{"package_id":"63927c1b4f66fd116f543aae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0314883a46b5a1a76376b1a30a6ba2ad677f7fe7a8da2b2c1e5508f5dc681e49"},"ros-humble-test-msgs-1.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670810850736,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4551b69237df9859545781a2e0937b5d","name":"ros-humble-test-msgs","requires":[],"size":576004,"version":"1.2.1","binstar":{"package_id":"63927c1c2dd706205564c453","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"41b64f8fa4263e16b343ad11d89f12db5a1b7c8d9398914f2d8e05f167a52b22"},"ros-humble-test-msgs-1.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675738707123,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5313e055411ce2464ce8772559f9fd23","name":"ros-humble-test-msgs","requires":[],"size":550789,"version":"1.2.1","binstar":{"package_id":"63927c1c2dd706205564c453","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"54896c5d97d2dbcad1ce56bccc2a74d5980d7b92916c2157be1fdffd65c25f84"},"ros-humble-bond-3.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811703742,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1b3215c5d39bbc02d978a940f1c0b754","name":"ros-humble-bond","requires":[],"size":60432,"version":"3.0.2","binstar":{"package_id":"63927c1d6e0eca100b493e1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"63115461ab230c4a77b787e5b6545d7a484a820bf3c8a7db5357147820e4b227"},"ros-humble-bond-3.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739473245,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0dc3a00178acd8d935abb12adea490f6","name":"ros-humble-bond","requires":[],"size":60892,"version":"3.0.2","binstar":{"package_id":"63927c1d6e0eca100b493e1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e0006fddcbbb16388a228a0e6b6c61ee9cbac34d9dfb211c7d4cd02c2be96826"},"ros-humble-geographic-msgs-1.0.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813449570,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"68b225912ccedc5a9a2992d8678c6612","name":"ros-humble-geographic-msgs","requires":[],"size":231304,"version":"1.0.4","binstar":{"package_id":"63927d714f66fd116f54af42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2d62a7d1805c6f233cd43964b830450890e359eaae48452e10e709a8be8b598d"},"ros-humble-geographic-msgs-1.0.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740952097,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"248880505cfd9adc7ee71ccea220fbd4","name":"ros-humble-geographic-msgs","requires":[],"size":236888,"version":"1.0.4","binstar":{"package_id":"63927d714f66fd116f54af42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f2b6446c0a93a9c6f93f8cfaa9756b8257f48692a6663ccd9342b024ebac08c"},"ros-humble-cartographer-ros-msgs-2.0.9000-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678331128794,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e127d33fb80154d659274a745a40b2d6","name":"ros-humble-cartographer-ros-msgs","requires":[],"size":264375,"version":"2.0.9000","binstar":{"package_id":"63927d72d9a997aae721bf64","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"437e550c58fa891181fe0eb8c388356c5263acdb376112030fd2255f1335809d"},"ros-humble-graph-msgs-0.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812440714,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"59a1cf8649ba968e94751e3f770c5c5f","name":"ros-humble-graph-msgs","requires":[],"size":70938,"version":"0.2.0","binstar":{"package_id":"63927d734f66fd116f54af91","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ef39005e753f5f96cc484ccb93db5c190cbbe649db15ed366070a0a22efc1449"},"ros-humble-graph-msgs-0.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739892586,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dd99c0a6da4495ec2430c03c448e9b68","name":"ros-humble-graph-msgs","requires":[],"size":71463,"version":"0.2.0","binstar":{"package_id":"63927d734f66fd116f54af91","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d591f304024f08228e64528a5a9b4a01b0574e59f6c004fd2d783d31ab3de4e3"},"ros-humble-diagnostic-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812654081,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cf9c6ea278d1c6dfa53a062303ec7ae2","name":"ros-humble-diagnostic-msgs","requires":[],"size":111020,"version":"4.2.2","binstar":{"package_id":"63927d924f66fd116f54d6b9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fe872e34f2647b727c3d61f8ac6f4de4fba772505f9d00e043fdc5459aca58c4"},"ros-humble-diagnostic-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740263481,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"584a645a92e58eba14c2f3d99ad3e951","name":"ros-humble-diagnostic-msgs","requires":[],"size":111198,"version":"4.2.3","binstar":{"package_id":"63927d924f66fd116f54d6b9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"506bc56c65f4172fc1ebbf2b8c0a2c92c374558a9d005b09d9fb384189df245c"},"ros-humble-trajectory-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813043432,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"64a706eede6fe9170eac5c26b5db7987","name":"ros-humble-trajectory-msgs","requires":[],"size":99963,"version":"4.2.2","binstar":{"package_id":"63927d93d9a997aae721ca10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f1f06fbb911e76e93421d46a1a8a8a0138b967b16017a6e1de5c66c144ab742"},"ros-humble-trajectory-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740596118,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"61e564f9bda870625c8375ea0b30ce55","name":"ros-humble-trajectory-msgs","requires":[],"size":100969,"version":"4.2.3","binstar":{"package_id":"63927d93d9a997aae721ca10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d34e6b4d2267ff8e8a760a4d0dc2ec41f9700908a3fa3c2bb9fbb1edd48fa5e1"},"ros-humble-shape-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812853778,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f536edafc9751ac0233fcb4085188dfc","name":"ros-humble-shape-msgs","requires":[],"size":85762,"version":"4.2.2","binstar":{"package_id":"63927d946e0eca100b494a1d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f39ca733439876a8b1d5f674da281b7522802f271b331c7f2c27641006f3a77c"},"ros-humble-shape-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740426727,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"35745cc0bcf8c6055aff1e799f00bb21","name":"ros-humble-shape-msgs","requires":[],"size":86248,"version":"4.2.3","binstar":{"package_id":"63927d946e0eca100b494a1d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e0b90472cd8e837840e5aa688afce37e5853a8268c8caff87d922d29c668e01b"},"ros-humble-rosidl-runtime-py-0.9.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ros-workspace","ros-humble-rosidl-parser","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812313015,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9c1519a2a386371e4992e56c00e9b97","name":"ros-humble-rosidl-runtime-py","requires":[],"size":25222,"version":"0.9.3","binstar":{"package_id":"63927d94d9a997aae721ca22","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6e7da92b7c89904bbf4eebbd8e488318a111c339e56b6d701a38679bd3b2f12c"},"ros-humble-rosidl-runtime-py-0.9.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ros-workspace","ros-humble-rosidl-parser","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739907240,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"05d656fb242c95242662560fbf521e42","name":"ros-humble-rosidl-runtime-py","requires":[],"size":21178,"version":"0.9.3","binstar":{"package_id":"63927d94d9a997aae721ca22","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8257d2a0cd7406834048237848b6187e731ed99ce7df04458b39cfe5cf31ac69"},"ros-humble-nav-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812488924,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7c21741f0e0c452b9a0a5d5078af2d4","name":"ros-humble-nav-msgs","requires":[],"size":154046,"version":"4.2.2","binstar":{"package_id":"63927d9546bec18b89e79dcf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a1fee985b092cf447f00abd82d793879432903f0e866a29ee31a01c8c576bfeb"},"ros-humble-nav-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740107811,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0fcb54b601a6b73f3230faf0238c953c","name":"ros-humble-nav-msgs","requires":[],"size":156417,"version":"4.2.3","binstar":{"package_id":"63927d9546bec18b89e79dcf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d44ff45110d3d626c8131c96c8c3e3814925dc96e07650e17031fb9595f5afc"},"ros-humble-nav-2d-msgs-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-generators","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812796699,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d7ff06fc45cb8cff0002b596919e6406","name":"ros-humble-nav-2d-msgs","requires":[],"size":85594,"version":"1.1.3","binstar":{"package_id":"63927dc02dd7062055651fee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"810bdfd65aff5d8d8025c1c798fb9309733de9e8df8c1e9e32b7d303cfa16b3d"},"ros-humble-nav-2d-msgs-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-generators","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740221671,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"429f48a046f2941518bb23edd24d2cd3","name":"ros-humble-nav-2d-msgs","requires":[],"size":86107,"version":"1.1.5","binstar":{"package_id":"63927dc02dd7062055651fee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"69509bbacea701303e4aaeb43fe5b107e8e4fdb33cc7513ce56f4afcd1c3ebcd"},"ros-humble-vision-msgs-4.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812984024,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"80c8aeab99e450cdeb676905a9f407ac","name":"ros-humble-vision-msgs","requires":[],"size":163158,"version":"4.0.0","binstar":{"package_id":"63927dc3bbbc2b1e96350921","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4172d8aa89c188426053946189d27640182f1bdbba76dc87cf9d7bf80b5b3048"},"ros-humble-vision-msgs-4.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740450552,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"53263569882ffa78cc44d7ee6752d099","name":"ros-humble-vision-msgs","requires":[],"size":171424,"version":"4.0.0","binstar":{"package_id":"63927dc3bbbc2b1e96350921","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74327ccfc82849c313befd918dfa5de1553b5398d1de34ba8a25bfb11fd103af"},"ros-humble-octomap-msgs-2.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812635737,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"87ff156d717afe5dc587d7f01abc2db7","name":"ros-humble-octomap-msgs","requires":[],"size":96193,"version":"2.0.0","binstar":{"package_id":"63927dc44f66fd116f54e184","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5b77cadfc71d737dd6ecb84d9bb1f46d942d07f3310c91c46f228be977b79ffa"},"ros-humble-octomap-msgs-2.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739919945,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4b55df044bc034854c24bce165fe4ca1","name":"ros-humble-octomap-msgs","requires":[],"size":96590,"version":"2.0.0","binstar":{"package_id":"63927dc44f66fd116f54e184","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7fe3bcb72de24401dad9382e4aa1802979f8c2727c06b391ca0cdc4e4b390183"},"ros-humble-ros-gz-interfaces-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813199497,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f4b9caadbd5d0ae04f7127ed7638b571","name":"ros-humble-ros-gz-interfaces","requires":[],"size":258183,"version":"0.244.9","binstar":{"package_id":"63927dc954e9ace854c8de10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6cd410f4b0723fd0bf334b53d0ebe86e296687dd79b09e946da08536223ddfd1"},"ros-humble-ros-gz-interfaces-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740706207,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d6210229e3f0586195be999bf8802b51","name":"ros-humble-ros-gz-interfaces","requires":[],"size":269304,"version":"0.244.9","binstar":{"package_id":"63927dc954e9ace854c8de10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fcc554760deec0055417ddbc300f80a2dc60827594225c52cfdd5a66052de0ec"},"ros-humble-tf2-msgs-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813108430,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"78f4b7155f4fbc7bca6ccf10eda619ba","name":"ros-humble-tf2-msgs","requires":[],"size":132525,"version":"0.25.1","binstar":{"package_id":"63927e4266b3e4e3dec422aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"211d4ea9bea25b7721ae674bd0f1fd6ef624b1dece196f9965c1654aa3d47c7a"},"ros-humble-tf2-msgs-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740847430,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e3ac79198295dc2857c1b675ce4bc177","name":"ros-humble-tf2-msgs","requires":[],"size":131383,"version":"0.25.2","binstar":{"package_id":"63927e4266b3e4e3dec422aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"13cfc80a27fb8beb4a4fe5ffdf5bfa7bc4033c5c6ebe9abeeeb2e9f8aacba7d6"},"ros-humble-rmw-fastrtps-dynamic-cpp-6.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-rmw-fastrtps-shared-cpp","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812437453,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99f43543db1d7d1012c1a368e0eaf7cd","name":"ros-humble-rmw-fastrtps-dynamic-cpp","requires":[],"size":126698,"version":"6.2.2","binstar":{"package_id":"63927e44d9a997aae721fc85","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7b5a0abecb32a175a15355ddc3c6fead3463cc4cbfcf4059bb2d151be25f0b02"},"ros-humble-rmw-fastrtps-dynamic-cpp-6.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-rmw-fastrtps-shared-cpp","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-rosidl-typesupport-introspection-c","ros-humble-rosidl-typesupport-introspection-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739980345,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e5938c8eb3677e396dcc286c7f2cc2ae","name":"ros-humble-rmw-fastrtps-dynamic-cpp","requires":[],"size":127146,"version":"6.2.2","binstar":{"package_id":"63927e44d9a997aae721fc85","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c4bdc771454768afab1fdad3bf7a53c2ab43a4d83c478a0766093dd54203aca"},"ros-humble-sensor-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812963828,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3179c3c9a09e8dcb91e3126bee1baf98","name":"ros-humble-sensor-msgs","requires":[],"size":360036,"version":"4.2.2","binstar":{"package_id":"63927e46a2b712100809ef81","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7a11c97fa8077558e35ee9acaa4c5c917cd7824017452cec49562e717026ae68"},"ros-humble-sensor-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740645531,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"543dbf46a42580047dee286de42623fa","name":"ros-humble-sensor-msgs","requires":[],"size":354426,"version":"4.2.3","binstar":{"package_id":"63927e46a2b712100809ef81","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"212526768b2aee28bdaeef0a1e3728cf88bd4e99f975af62ed840a9f52bec300"},"ros-humble-rmw-fastrtps-cpp-6.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-rmw-fastrtps-shared-cpp","ros-humble-ros-workspace","ros-humble-rosidl-cmake","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670812593875,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c3f38b34c4b40462cacd651cc7b4bb32","name":"ros-humble-rmw-fastrtps-cpp","requires":[],"size":96988,"version":"6.2.2","binstar":{"package_id":"63927e48ead2dcc8c2e2c011","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a9225e40989143febec74bd890189a61d47f1462370b74fda8b3974fe7dae850"},"ros-humble-rmw-fastrtps-cpp-6.2.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-fastcdr","ros-humble-fastrtps","ros-humble-fastrtps-cmake-module","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-dds-common","ros-humble-rmw-fastrtps-shared-cpp","ros-humble-ros-workspace","ros-humble-rosidl-cmake","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-fastrtps-c","ros-humble-rosidl-typesupport-fastrtps-cpp","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675740174494,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6ace035ac28059408844c2f23dfc1d1a","name":"ros-humble-rmw-fastrtps-cpp","requires":[],"size":97252,"version":"6.2.2","binstar":{"package_id":"63927e48ead2dcc8c2e2c011","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"56ba64dabdf2c0cc7dfeb63d75206c74b87ff4b14aabc4ab2a8efd43dadd2c14"},"ros-humble-tf2-0.25.1-py310h2eb544e_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-console-bridge-vendor","ros-humble-geometry-msgs","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h2eb544e_2","timestamp":1670812703823,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ebf08fdd8db25c04a046d85247daa119","name":"ros-humble-tf2","requires":[],"size":93569,"version":"0.25.1","binstar":{"package_id":"63927e4a13f4c7e7c54fbd63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aa8e8784725f35a3c3d7f99710f050b34201f3b12ee066679a44846af81cac68"},"ros-humble-tf2-0.25.2-py310h2eb544e_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-console-bridge-vendor","ros-humble-geometry-msgs","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h2eb544e_3","timestamp":1675740327736,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3cbf4817b787e39df21e84d0bde0d139","name":"ros-humble-tf2","requires":[],"size":93947,"version":"0.25.2","binstar":{"package_id":"63927e4a13f4c7e7c54fbd63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8b898021983f44b5d5bac03fcab289ba88034617af967a45d7f9b568bb79b88"},"ros-humble-ros-ign-interfaces-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-gz-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814367568,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e518dd14c4579508ba2eb496b9a93dfa","name":"ros-humble-ros-ign-interfaces","requires":[],"size":229365,"version":"0.244.9","binstar":{"package_id":"63927f3a2b3749bdb863c7c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e44cff10c9a9f6027287e042708b88e5a654a5f19fcf58bf1a62d2e7bdf6f598"},"ros-humble-ros-ign-interfaces-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-gz-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675741875367,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5a7c34bb832978c4173ff25bf63a8922","name":"ros-humble-ros-ign-interfaces","requires":[],"size":243095,"version":"0.244.9","binstar":{"package_id":"63927f3a2b3749bdb863c7c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f3b2ad041c9ce07eb052e2ab9c605838180dfdb4d3cbc25755f94a34e4e4d4dd"},"ros-humble-sensor-msgs-py-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813968294,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e761752af7e1da19caa11571c4f3fcf1","name":"ros-humble-sensor-msgs-py","requires":[],"size":18958,"version":"4.2.2","binstar":{"package_id":"63927fe4ead2dcc8c2e35b8d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d2ce9f32520af869e14f5325cd2ce36f514276edb04553b114f1ec1845e16a3"},"ros-humble-sensor-msgs-py-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675741649359,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1edba103117e78998a2cacca6f893d50","name":"ros-humble-sensor-msgs-py","requires":[],"size":18513,"version":"4.2.3","binstar":{"package_id":"63927fe4ead2dcc8c2e35b8d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e603159343068549b4eecc318d35cdc487faf638cff29d3dfe98719c400aff2f"},"ros-humble-visualization-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814363113,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a6ab8ce1ca96344e5454c72690e9d2ab","name":"ros-humble-visualization-msgs","requires":[],"size":235826,"version":"4.2.2","binstar":{"package_id":"63927fe746bec18b89e84a10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6c18c81c217db358e23c020c9bdfe8e980a6b435725446af918db2884e36bc11"},"ros-humble-visualization-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675742190363,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"38d7589170380940a9d5c6fde8382a42","name":"ros-humble-visualization-msgs","requires":[],"size":229736,"version":"4.2.3","binstar":{"package_id":"63927fe746bec18b89e84a10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"134a445dbfe5989e25d3e682da785cc7f5101783fac5f132f1f71dfab6d18d0a"},"ros-humble-stereo-msgs-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814534580,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6106cf0530399b5e90758a9eced9122","name":"ros-humble-stereo-msgs","requires":[],"size":53586,"version":"4.2.2","binstar":{"package_id":"63927fe86a03c9fad25f1496","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"15add8aaeac5cd85384a0f819f12a9c2d709245375f2de8116c038a9a773587a"},"ros-humble-stereo-msgs-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675742405886,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"69653617386d9d81f8cd66f3893fdda7","name":"ros-humble-stereo-msgs","requires":[],"size":54071,"version":"4.2.3","binstar":{"package_id":"63927fe86a03c9fad25f1496","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bec9ac4930f9ac7705b650d555f5ed36d718562e401d4019e0170faaee3033fe"},"ros-humble-rmw-implementation-2.8.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw-connextdds","ros-humble-rmw-cyclonedds-cpp","ros-humble-rmw-fastrtps-cpp","ros-humble-rmw-fastrtps-dynamic-cpp","ros-humble-rmw-implementation-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813857259,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1050881251095ed170a843b0f6e8b0fa","name":"ros-humble-rmw-implementation","requires":[],"size":29109,"version":"2.8.1","binstar":{"package_id":"63927fea9e77a4aa6b6c04d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"143e9cbf275e8120d77df921f309f61ca34ef2a9f5909ff1e385583dfff616a2"},"ros-humble-rmw-implementation-2.8.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw-connextdds","ros-humble-rmw-cyclonedds-cpp","ros-humble-rmw-fastrtps-cpp","ros-humble-rmw-fastrtps-dynamic-cpp","ros-humble-rmw-implementation-cmake","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675741531735,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5cee37b567c6832ef65109d7e3e56f41","name":"ros-humble-rmw-implementation","requires":[],"size":29304,"version":"2.8.2","binstar":{"package_id":"63927fea9e77a4aa6b6c04d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74041227f7c039029a90d097e3ba08d875d0fc1d48fb28674e076a1dc914b89d"},"ros-humble-object-recognition-msgs-2.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814157913,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f153fa2f7a35fb7c5eebe970600da4de","name":"ros-humble-object-recognition-msgs","requires":[],"size":186049,"version":"2.0.0","binstar":{"package_id":"63927febead2dcc8c2e3642b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8f8c7143aadb9d161766026878021a48c88192b40136a9c374a716495ecdf4cc"},"ros-humble-object-recognition-msgs-2.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675741890765,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0079916aa45be73fb59d877df06af41","name":"ros-humble-object-recognition-msgs","requires":[],"size":182832,"version":"2.0.0","binstar":{"package_id":"63927febead2dcc8c2e3642b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c766d1717d56e2a7f776463e861f81496e1d3ad4ea6ea361ee755f3530808010"},"ros-humble-cv-bridge-3.2.1-py310h27a8b25_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h27a8b25_2","timestamp":1670814650492,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7298f857857133e81fb8fb1050da62b5","name":"ros-humble-cv-bridge","requires":[],"size":111217,"version":"3.2.1","binstar":{"package_id":"6392802496cc569e105eeafb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"64ad6ebf317a82834ff320554a8bf067f76e15ec7473e7c9ef97196ff013d98f"},"ros-humble-cv-bridge-3.2.1-py310h27a8b25_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h27a8b25_3","timestamp":1675744254468,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"196c6e2fb405c5d038f1636c942bbe5f","name":"ros-humble-cv-bridge","requires":[],"size":111680,"version":"3.2.1","binstar":{"package_id":"6392802496cc569e105eeafb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"138b6b19f62714181a63e7fa6d98ebf1323aa52f63c3b47253cef5c733f398c1"},"ros-humble-dwb-msgs-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814380086,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f167942c150bd07ddead86a783ee913a","name":"ros-humble-dwb-msgs","requires":[],"size":156599,"version":"1.1.3","binstar":{"package_id":"63928025d9a997aae722c1cb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5afc876abadfc5536b2a24dd55923403ee960898c4f3e1374a114cea0af9ab38"},"ros-humble-dwb-msgs-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675743557246,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"abdefa87822cb05d87e660cb572a1525","name":"ros-humble-dwb-msgs","requires":[],"size":163879,"version":"1.1.5","binstar":{"package_id":"63928025d9a997aae722c1cb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2bf94f037c4eee2bfe2f2d65215db2d2b8e1c2d6223974d176963821b27b1702"},"ros-humble-map-msgs-2.1.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814186253,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"928050998ec25adbad6531843a765320","name":"ros-humble-map-msgs","requires":[],"size":161538,"version":"2.1.0","binstar":{"package_id":"6392802654e9ace854c91b63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ba79d5b7c23574ce4aad21936354524773d52db10ef1f04f0dac0b8d46cc9087"},"ros-humble-map-msgs-2.1.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675743003256,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0cd86957092ecd368226b4a55805c1f7","name":"ros-humble-map-msgs","requires":[],"size":161344,"version":"2.1.0","binstar":{"package_id":"6392802654e9ace854c91b63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78689f75ec08aa7e6ce92210a4afbe9fd4b79d7f122ad3e1aa846c5d0570e205"},"ros-humble-control-msgs-4.1.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-trajectory-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813969541,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b5611d43440e5123a3a16a99f018ab76","name":"ros-humble-control-msgs","requires":[],"size":431893,"version":"4.1.0","binstar":{"package_id":"6392802754e9ace854c91b6f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"115229d41de79e9fe38db1787790b5a5f46c8f84044799dd2a65e5b21646b905"},"ros-humble-control-msgs-4.1.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-trajectory-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675742359130,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"042f8b71dffadfccdc5cad33d97aa986","name":"ros-humble-control-msgs","requires":[],"size":411546,"version":"4.1.0","binstar":{"package_id":"6392802754e9ace854c91b6f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6a2a4e48128815b3675e8a0ec00e9705e57c83d5120761d38a3396603313831f"},"ros-humble-tf2-eigen-kdl-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670814807092,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e28823424ae16071ff5714d5699a74b7","name":"ros-humble-tf2-eigen-kdl","requires":[],"size":19899,"version":"0.25.1","binstar":{"package_id":"639280281f9cf5f92ad872d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5db6864d189d27b67d9895ba1ea923e4ccf4ec6d3f092b0bad62c78ea673298b"},"ros-humble-tf2-eigen-kdl-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675744850480,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"75d97adcc35e6d8e3be42e14e9f00d06","name":"ros-humble-tf2-eigen-kdl","requires":[],"size":20189,"version":"0.25.2","binstar":{"package_id":"639280281f9cf5f92ad872d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"240b5c7f262c1d18cbd0d5333db372ba6a80c0d39d1c394aaa92bf788a4f2b8d"},"ros-humble-image-geometry-3.2.1-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670814149230,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2b38da7fca00590b27e248fe133663bc","name":"ros-humble-image-geometry","requires":[],"size":40984,"version":"3.2.1","binstar":{"package_id":"63928101e6a2f79ab8331b4a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"01ebd4667ed73cba2174c3ce63cadc3c4dab54375e33cb55b8dd9e08247ea0c2"},"ros-humble-image-geometry-3.2.1-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675741637275,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"993492a2f028621b030073c4362dc4bc","name":"ros-humble-image-geometry","requires":[],"size":41451,"version":"3.2.1","binstar":{"package_id":"63928101e6a2f79ab8331b4a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2fd3856fa05f1dfb6ad05f9bb319708e942c409981bc30aea9b09e38f9d610bc"},"ros-humble-gazebo-msgs-3.7.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros-humble-trajectory-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1677541459706,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7b22209b7ad396dd1719bc765a046474","name":"ros-humble-gazebo-msgs","requires":[],"size":576703,"version":"3.7.0","binstar":{"package_id":"63928103d9a997aae723fff0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aaa5e0e2c46406df7abb0a9898ad3ff21ceaa8852574356ed7a8ec878ea19861"},"ros-humble-pcl-msgs-1.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670813976182,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"57bac097d3953ed1b8f0140abfd83afb","name":"ros-humble-pcl-msgs","requires":[],"size":99282,"version":"1.0.0","binstar":{"package_id":"63928104358aafdd3d8c9c5a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3b9c12e9d796f8f2c477a3338eb0604b5b613900ec07883d761c84e5268dd3e6"},"ros-humble-pcl-msgs-1.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675741442116,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2af5702ba7d79f3f53263ec1a1f78d71","name":"ros-humble-pcl-msgs","requires":[],"size":99819,"version":"1.0.0","binstar":{"package_id":"63928104358aafdd3d8c9c5a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8ce5aca2234e0cfb9ed992e3c475115138417cb0fe8314b8036b365f63c9545a"},"ros-humble-vision-opencv-3.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670816009647,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"73c66eac80666b07b294feef99d9230a","name":"ros-humble-vision-opencv","requires":[],"size":11680,"version":"3.2.1","binstar":{"package_id":"63928318114c465c98bc4799","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c3f01c2b0d48f072be909dd0305aa1a4cf3e6f3cb6955aaef928af6eb460c94"},"ros-humble-vision-opencv-3.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675746182563,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a478647014082e83ba3a87d863591ce","name":"ros-humble-vision-opencv","requires":[],"size":12013,"version":"3.2.1","binstar":{"package_id":"63928318114c465c98bc4799","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"256cb04a866e69ea8d7b826b325dd1a84d0a070dc42f5097880b40a17a6db55a"},"ros-humble-rcl-5.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-rcl-logging-interface","ros-humble-rcl-logging-spdlog","ros-humble-rcl-yaml-param-parser","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670815158149,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"60b94ddbcad56cbd53c6bb02206eb36a","name":"ros-humble-rcl","requires":[],"size":131242,"version":"5.3.2","binstar":{"package_id":"63928319d9a997aae7255dc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"80b731cbe534d359a1bb38b56c870479b21d1b81d1a130e55ac5ac31a781d750"},"ros-humble-rcl-5.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-rcl-logging-interface","ros-humble-rcl-logging-spdlog","ros-humble-rcl-yaml-param-parser","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675745323753,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f62aa0bd679f29aeda48ba92cc788300","name":"ros-humble-rcl","requires":[],"size":131749,"version":"5.3.2","binstar":{"package_id":"63928319d9a997aae7255dc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7e9f0222103f8e9925559dc1a541c9fdb84a6c92fd229a58ddb6c2005e375e06"},"ros-humble-common-interfaces-4.2.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-actionlib-msgs","ros-humble-builtin-interfaces","ros-humble-diagnostic-msgs","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-stereo-msgs","ros-humble-trajectory-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670815900365,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d3202a5b7f8e202ff1f7ed18ce33e9eb","name":"ros-humble-common-interfaces","requires":[],"size":11412,"version":"4.2.2","binstar":{"package_id":"6392831b6e0eca100b49c19e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4142dca9ecb777e7d906441e8f232f8c957a0f1726fe870a71727e7f72459225"},"ros-humble-common-interfaces-4.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-actionlib-msgs","ros-humble-builtin-interfaces","ros-humble-diagnostic-msgs","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-stereo-msgs","ros-humble-trajectory-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675746063157,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90bf4f5ee32560d69cc549ef1fbdc0fd","name":"ros-humble-common-interfaces","requires":[],"size":11649,"version":"4.2.3","binstar":{"package_id":"6392831b6e0eca100b49c19e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"466bba2656f6e472771b70261ea3ce09f050833e9922e11ed11fd7e3bbf393f5"},"ros-humble-moveit-msgs-2.2.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-object-recognition-msgs","ros-humble-octomap-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros-humble-trajectory-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670815796211,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"06fa62d2238792e296ec7ea8ca96128b","name":"ros-humble-moveit-msgs","requires":[],"size":1213026,"version":"2.2.1","binstar":{"package_id":"6392831d2b3749bdb8662594","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c1a64a95770d3e65485ecfa4272105639b928d20e8cf99f96364143e6c6e8828"},"ros-humble-moveit-msgs-2.2.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-object-recognition-msgs","ros-humble-octomap-msgs","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-std-msgs","ros-humble-trajectory-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675745943040,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"84022cdd747b824d197640588374bf34","name":"ros-humble-moveit-msgs","requires":[],"size":1207228,"version":"2.2.1","binstar":{"package_id":"6392831d2b3749bdb8662594","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0f3f36f9ef64a1c3b4e43a0b0804fada1ab44ba56ae22e7a52fe26eb456cc645"},"ros-humble-rcl-action-5.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-rcl","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670816712818,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"11a5105462431844ca16839889f639d0","name":"ros-humble-rcl-action","requires":[],"size":50209,"version":"5.3.2","binstar":{"package_id":"6392842d66b3e4e3dec81d95","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"54a326f625d637dc8f15a27167e6a68ec52f2b839ff12b84a370d8d0d2a10bc6"},"ros-humble-rcl-action-5.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-rcl","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675746860008,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4880406ed176c4e949083c73c1ee625a","name":"ros-humble-rcl-action","requires":[],"size":50561,"version":"5.3.2","binstar":{"package_id":"6392842d66b3e4e3dec81d95","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91e80dfe25b6dee59928f311e9e83a9af9919350e1439b73a8a2cc82e7e13e23"},"ros-humble-rcl-lifecycle-5.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rcl","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670816603965,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"95ffcafb14ff56edd35e61db84e8b6d5","name":"ros-humble-rcl-lifecycle","requires":[],"size":31249,"version":"5.3.2","binstar":{"package_id":"6392842f66b3e4e3dec81e45","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"681b00ad1e946c4b68144e8e5b3ad787b37b25b3d829263b34964f0cf25153c7"},"ros-humble-rcl-lifecycle-5.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rcl","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675746713761,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"14bae084d84b7c959723953d050fd613","name":"ros-humble-rcl-lifecycle","requires":[],"size":31527,"version":"5.3.2","binstar":{"package_id":"6392842f66b3e4e3dec81e45","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8e089e132d1d6b656166c2507e1f48941a1b3d8529a81d36cc94bb1f57e010f6"},"ros-humble-libstatistics-collector-1.3.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-statistics-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670816486689,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3e74cdc9f692fa539f86b542b6a64c96","name":"ros-humble-libstatistics-collector","requires":[],"size":32858,"version":"1.3.0","binstar":{"package_id":"6392843146f81babca007bf2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f0c86f34b53c3168d6ca77ab5811927db047f392d403066585ab64b71ecf043"},"ros-humble-libstatistics-collector-1.3.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-statistics-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675746573620,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae7de02a14f6a69674fb611f46a07e54","name":"ros-humble-libstatistics-collector","requires":[],"size":33097,"version":"1.3.0","binstar":{"package_id":"6392843146f81babca007bf2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c32d08a17a0e941656096b43512376cfd150710563ed2dd543979b3bfea5ffa4"},"ros-humble-rclpy-3.3.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-builtin-interfaces","ros-humble-rcl","ros-humble-rcl-action","ros-humble-rcl-interfaces","ros-humble-rcl-lifecycle","ros-humble-rcl-logging-interface","ros-humble-rcl-yaml-param-parser","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-rosidl-runtime-c","ros-humble-rpyutils","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670817744627,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5c53f3e9d66ba7e1c2abdd3ea02561a7","name":"ros-humble-rclpy","requires":[],"size":500054,"version":"3.3.5","binstar":{"package_id":"639285b646f81babca010d54","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"90c281acc560a2165611235adee138ffcdbc5a4e994563494b1b31b10373769e"},"ros-humble-rclpy-3.3.7-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-builtin-interfaces","ros-humble-rcl","ros-humble-rcl-action","ros-humble-rcl-interfaces","ros-humble-rcl-lifecycle","ros-humble-rcl-logging-interface","ros-humble-rcl-yaml-param-parser","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-rosidl-runtime-c","ros-humble-rpyutils","ros-humble-unique-identifier-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675747761291,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e552866147251212cc944c012136ffd","name":"ros-humble-rclpy","requires":[],"size":497091,"version":"3.3.7","binstar":{"package_id":"639285b646f81babca010d54","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5cc3cc6241d2a50ee18ae8f533e0eeeb6186ca4410e9a8ccc9a03738701737ec"},"ros-humble-rclcpp-16.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-builtin-interfaces","ros-humble-libstatistics-collector","ros-humble-rcl","ros-humble-rcl-interfaces","ros-humble-rcl-yaml-param-parser","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-statistics-msgs","ros-humble-tracetools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670817345145,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7872468c29a8abebcbd8a7fca2f79baf","name":"ros-humble-rclcpp","requires":[],"size":671433,"version":"16.0.2","binstar":{"package_id":"639285b7e6a2f79ab8350cc6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d4d768055279719ca34401beffcbac5cb6f72d79a1b02ebb5086f8098822c13f"},"ros-humble-rclcpp-16.0.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-builtin-interfaces","ros-humble-libstatistics-collector","ros-humble-rcl","ros-humble-rcl-interfaces","ros-humble-rcl-yaml-param-parser","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-c","ros-humble-rosidl-typesupport-cpp","ros-humble-statistics-msgs","ros-humble-tracetools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675747433833,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"289d402d810afc0e1e7e394b24cbe500","name":"ros-humble-rclcpp","requires":[],"size":660797,"version":"16.0.3","binstar":{"package_id":"639285b7e6a2f79ab8350cc6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"99551ea63530abd0d8a90a01b2841d9876f18b20222c3576b68196488cc3eed5"},"ros-humble-examples-rclpy-executors-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819713402,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"218f951629258ae70f7e979378e1e6e8","name":"ros-humble-examples-rclpy-executors","requires":[],"size":18430,"version":"0.15.1","binstar":{"package_id":"639286c966b3e4e3dec90d4b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"938af5230b52eac67185f363701fb1b245283dde9afb3fc92fc2f82aa6298d0c"},"ros-humble-examples-rclpy-executors-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749250667,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dabc0d4e779163806fd43cf663c2b0fa","name":"ros-humble-examples-rclpy-executors","requires":[],"size":18024,"version":"0.15.1","binstar":{"package_id":"639286c966b3e4e3dec90d4b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fe22a53d57f7a2a837e38c0f701ddb47ae6a6f363944fc82006142a734d11963"},"ros-humble-examples-rclpy-minimal-client-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820949083,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fc20ac66ee37d058e090175dd63df814","name":"ros-humble-examples-rclpy-minimal-client","requires":[],"size":14216,"version":"0.15.1","binstar":{"package_id":"639286ca54e9ace854cb8bf3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f259570b9cbeaaca0637389d387f28612aba368bc7ed1031229b2f2be1fc631"},"ros-humble-examples-rclpy-minimal-client-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749398010,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8446c6a2b120eddccc5af1e3477c35b5","name":"ros-humble-examples-rclpy-minimal-client","requires":[],"size":13969,"version":"0.15.1","binstar":{"package_id":"639286ca54e9ace854cb8bf3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2886d78082f5476fd6efd09671fdc75f8ebf1474df96e89af62513f675911941"},"ros-humble-examples-rclpy-minimal-action-server-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819519341,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0781beb048efc62072a72c974a440486","name":"ros-humble-examples-rclpy-minimal-action-server","requires":[],"size":17550,"version":"0.15.1","binstar":{"package_id":"639286cc46f81babca015d88","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f6b597ebe667ccb4e4d3b5198ac2d4e7f6db832b02b1feaff967cd74016c952"},"ros-humble-examples-rclpy-minimal-action-server-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749028109,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1898742134ee35856ce91698f880c60a","name":"ros-humble-examples-rclpy-minimal-action-server","requires":[],"size":17219,"version":"0.15.1","binstar":{"package_id":"639286cc46f81babca015d88","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8c95415978a60324b9a746f4929981fb2585b4c17f114c0eced172b0f1b28b73"},"ros-humble-examples-rclpy-minimal-publisher-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820860073,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e33e0df68f068650cb293bfe16349120","name":"ros-humble-examples-rclpy-minimal-publisher","requires":[],"size":12878,"version":"0.15.1","binstar":{"package_id":"639286cdead2dcc8c2e690cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5989fc2060a33d60e9a295dbbabc2f8cd58fa3787a90811e23c7092a745a86ba"},"ros-humble-examples-rclpy-minimal-publisher-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749305710,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"092a19722a5ae483692a728bd4529c9a","name":"ros-humble-examples-rclpy-minimal-publisher","requires":[],"size":12682,"version":"0.15.1","binstar":{"package_id":"639286cdead2dcc8c2e690cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d817ef4ace10bdccb63accf29c8df852a119ad952ff25f436c1df5dcf55a44c"},"ros-humble-examples-rclpy-minimal-action-client-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819620592,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d599844e1ab33187de9ea7652edeeae9","name":"ros-humble-examples-rclpy-minimal-action-client","requires":[],"size":16273,"version":"0.15.1","binstar":{"package_id":"639286cfd9a997aae7275143","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ba1ddc677d8eb8cf84a391898fb259a410afeb1aeef60bb956a4fab182a45211"},"ros-humble-examples-rclpy-minimal-action-client-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749138557,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"84e8b8cd5442af2bf13507664adb5bb9","name":"ros-humble-examples-rclpy-minimal-action-client","requires":[],"size":16015,"version":"0.15.1","binstar":{"package_id":"639286cfd9a997aae7275143","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e4baba906b1924eb37974d8d3ad52c74cb7afae880d2476ad7c6fb79e93330f4"},"ros-humble-turtlebot3-example-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-turtlebot3-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333266360,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fdcb073d8a3916174c45c81e68fa3b1e","name":"ros-humble-turtlebot3-example","requires":[],"size":21445,"version":"2.1.5","binstar":{"package_id":"639286e46e0eca100b4a1681","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4215deb0cbeeaf729c1423df26eed631f2ad8ef91d65230ca3c6683b505e7e03"},"ros-humble-action-tutorials-py-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820936864,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5b0fc4aadd62479f6aa78c92bc1ce28c","name":"ros-humble-action-tutorials-py","requires":[],"size":12879,"version":"0.20.2","binstar":{"package_id":"639286e6bbbc2b1e9638ed33","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"555851a2df148f46acfe6233777519f4f40484f52d481d65cd763f3a3a290442"},"ros-humble-action-tutorials-py-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749546810,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"07f066c8dc83396712ae1213cce412ac","name":"ros-humble-action-tutorials-py","requires":[],"size":12719,"version":"0.20.3","binstar":{"package_id":"639286e6bbbc2b1e9638ed33","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"54a25f817cc7f1a9d1cd6cb743edf9887f6c8c0ade97bfec6481965d0c05f687"},"ros-humble-turtlebot3-teleop-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678330592134,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5f41e22e2e889417c4e002402b297b76","name":"ros-humble-turtlebot3-teleop","requires":[],"size":13517,"version":"2.1.5","binstar":{"package_id":"639286e7a2b71210080fc9b8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1ba46bc5833a7f1137c90b6e12d20eadb92efc17c32e3a78733052fb52b04d6d"},"ros-humble-dummy-map-server-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819745744,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f4539671bf7d1cc339b08c6fd42b706","name":"ros-humble-dummy-map-server","requires":[],"size":64143,"version":"0.20.2","binstar":{"package_id":"6392870a46bec18b89eae519","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2336a5783a4b449d14ad939f84f2b2cd4f08dcc469bdfc0a3963dd8f6a8d4e04"},"ros-humble-dummy-map-server-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748397749,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bcc872325c9c41937ef34fa71148c853","name":"ros-humble-dummy-map-server","requires":[],"size":64412,"version":"0.20.3","binstar":{"package_id":"6392870a46bec18b89eae519","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"25456868f3f65328dc5f8191981f4e010bc987c7f9fbff096b4f18b0fe998f09"},"ros-humble-dummy-sensors-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819588181,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"56b033b7f3711d619eb61d7c4d9144d5","name":"ros-humble-dummy-sensors","requires":[],"size":91077,"version":"0.20.2","binstar":{"package_id":"6392870d46bec18b89eae543","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6599356b7d118f5c5a64cac8647c155c870c430c21762a65c35b543d67622eff"},"ros-humble-dummy-sensors-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748241882,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7a7787cb3cfc2442b48a5cb8021b1e75","name":"ros-humble-dummy-sensors","requires":[],"size":91393,"version":"0.20.3","binstar":{"package_id":"6392870d46bec18b89eae543","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3e1804486ee74a0929b9e8b0dd9ba74c992cc00a41c5ed5e67caacb6bdc98e7b"},"ros-humble-hls-lfcd-lds-driver-2.0.4-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1678330022045,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"41b73a8e38ebd96651f7ff2d8074dfd8","name":"ros-humble-hls-lfcd-lds-driver","requires":[],"size":106791,"version":"2.0.4","binstar":{"package_id":"6392870d46bec18b89eae551","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4c5525aa20b4086861a2ac0cae6302ce3eba67dda7216208b84e6879c5afefe8"},"ros-humble-teleop-twist-keyboard-2.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819439765,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dda48d88cf4b15d6c2b44ab3be11d115","name":"ros-humble-teleop-twist-keyboard","requires":[],"size":13402,"version":"2.3.2","binstar":{"package_id":"6392870f54e9ace854cb9099","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a046df264ecb654fe9d49dffaad037d7ab1efe4479fe58a4f9ea0c0b8fc49122"},"ros-humble-teleop-twist-keyboard-2.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748077504,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f459d986a6a1f874c3a9d0e238f50e40","name":"ros-humble-teleop-twist-keyboard","requires":[],"size":12901,"version":"2.3.2","binstar":{"package_id":"6392870f54e9ace854cb9099","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a11fb4f2e28fdd3ac5d831453891dbf360548480d8cbd9ffdeb1cac20e22cec"},"ros-humble-examples-rclcpp-minimal-client-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820808902,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"224daa2eb091820783eff683c6370e55","name":"ros-humble-examples-rclcpp-minimal-client","requires":[],"size":33125,"version":"0.15.1","binstar":{"package_id":"6392871266b3e4e3dec93c40","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"19831d0d57fdb307b432c0c867e3878be5128e58538d150664c324bd02c89e6d"},"ros-humble-examples-rclcpp-minimal-client-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749440354,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2aa68e009eeaac15a062110bfda1a6e6","name":"ros-humble-examples-rclcpp-minimal-client","requires":[],"size":33422,"version":"0.15.1","binstar":{"package_id":"6392871266b3e4e3dec93c40","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2195e743ad534e6ba86a3c9b2716b092b22123b74acedfcfb9ab04b6cacb51a7"},"ros-humble-examples-rclcpp-minimal-publisher-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820623841,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"229dad1f873c1ed389590adc0bf002e3","name":"ros-humble-examples-rclcpp-minimal-publisher","requires":[],"size":214487,"version":"0.15.1","binstar":{"package_id":"63928713114c465c98bd4c10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78aedeadc665ab99cd8e8fed4accbf47f26eef274225f59e626475a6c47002bc"},"ros-humble-examples-rclcpp-minimal-publisher-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749290577,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"131e23452dd77d9d805ddbc5f8a7cfef","name":"ros-humble-examples-rclcpp-minimal-publisher","requires":[],"size":215247,"version":"0.15.1","binstar":{"package_id":"63928713114c465c98bd4c10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b6567dba5d2fbd703aded7cb96090f172943a1c1f07b655a2659739b840092c0"},"ros-humble-examples-rclcpp-minimal-timer-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820026071,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d8f5d22d71e0cde3fb99cdb02a0e6e1d","name":"ros-humble-examples-rclcpp-minimal-timer","requires":[],"size":25219,"version":"0.15.1","binstar":{"package_id":"639287134f66fd116f5b4b10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b91f8011eb8cd103869de49ee7477ad1c47fa2998a11db42a41c08804821da17"},"ros-humble-examples-rclcpp-minimal-timer-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749680155,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ca0b47998ae1ea534f97fca9be0f8b53","name":"ros-humble-examples-rclcpp-minimal-timer","requires":[],"size":25538,"version":"0.15.1","binstar":{"package_id":"639287134f66fd116f5b4b10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dad785ef20d694a3489f77de5889e0fa55b299a98c657be51a2d0769f7d06814"},"ros-humble-examples-rclcpp-minimal-service-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820451490,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"43b30ed116e976c8ddff86d7eddc4446","name":"ros-humble-examples-rclcpp-minimal-service","requires":[],"size":30694,"version":"0.15.1","binstar":{"package_id":"63928714114c465c98bd4c26","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91f43e2961c0758a83ad4fe2c81ccb580490f6e70453bf0d3950a1656878f600"},"ros-humble-examples-rclcpp-minimal-service-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749108574,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"50b147b4e3051cd8d73c29318c6916fa","name":"ros-humble-examples-rclcpp-minimal-service","requires":[],"size":30986,"version":"0.15.1","binstar":{"package_id":"63928714114c465c98bd4c26","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f83362c1ddf395e9b9ebefa5e73dd1ba1aa7a60a60c56981cf6a53eb6c00df3"},"ros-humble-examples-rclcpp-multithreaded-executor-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819884234,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"627ecb5e72a9c8752c17877d3163e980","name":"ros-humble-examples-rclcpp-multithreaded-executor","requires":[],"size":130486,"version":"0.15.1","binstar":{"package_id":"63928715d9a997aae727775e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e21d64678d76cbd720679b79b6f8be8b95c7d4c31bf7d293cb132c461f1c9429"},"ros-humble-examples-rclcpp-multithreaded-executor-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749476497,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"42aa4e954dcbde64bd72b7ad0ea13ded","name":"ros-humble-examples-rclcpp-multithreaded-executor","requires":[],"size":129959,"version":"0.15.1","binstar":{"package_id":"63928715d9a997aae727775e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"04dc8ad24386981a61fc50583203919caf49222cea405212111b438995af73e6"},"ros-humble-launch-ros-0.19.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-composition-interfaces","ros-humble-launch","ros-humble-lifecycle-msgs","ros-humble-osrf-pycommon","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819479774,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7e314bf640adbafdc1b13139d68d348","name":"ros-humble-launch-ros","requires":[],"size":68046,"version":"0.19.3","binstar":{"package_id":"6392874f66b3e4e3dec95f75","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"270a6f7561cd25f01260c40444fcc8f5c25253d8d102a6f14470cb8af5d5eb34"},"ros-humble-launch-ros-0.19.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-composition-interfaces","ros-humble-launch","ros-humble-lifecycle-msgs","ros-humble-osrf-pycommon","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748554673,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"072fd70334526393f8ae19e64970113d","name":"ros-humble-launch-ros","requires":[],"size":65502,"version":"0.19.4","binstar":{"package_id":"6392874f66b3e4e3dec95f75","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a0658e08e78cbbb5bb864bc28971fdd18e8a943bbb0d1524a13d457d0b16879f"},"ros-humble-tf2-py-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rpyutils","ros-humble-tf2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819604906,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"004353a58276d64a7b92318b9d76e483","name":"ros-humble-tf2-py","requires":[],"size":30171,"version":"0.25.1","binstar":{"package_id":"639287521f9cf5f92ad9a80e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"243eabded800310511887e07fefa912b694e69b45a17140bdfdeb624774740ca"},"ros-humble-tf2-py-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rpyutils","ros-humble-tf2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748745845,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"712fedb52f92d404898359c3f3e74a3c","name":"ros-humble-tf2-py","requires":[],"size":30517,"version":"0.25.2","binstar":{"package_id":"639287521f9cf5f92ad9a80e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"23b40ddee41852a62aa0e922e5f58d57664916fd4d28ca26859d41d0fa71d9f3"},"ros-humble-rclcpp-lifecycle-16.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rcl-lifecycle","ros-humble-rclcpp","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-cpp","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819372709,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f1216f54b75c7f18b659d6764261e481","name":"ros-humble-rclcpp-lifecycle","requires":[],"size":81873,"version":"16.0.2","binstar":{"package_id":"63928754ead2dcc8c2e7423f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3be3f3ae4d888103071ad0742391635aee8ebe8d2fec8a3363af7a5560f05d54"},"ros-humble-rclcpp-lifecycle-16.0.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rcl-lifecycle","ros-humble-rclcpp","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosidl-typesupport-cpp","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748429283,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f185bdd3a980277cbff1cbca290a64f9","name":"ros-humble-rclcpp-lifecycle","requires":[],"size":82239,"version":"16.0.3","binstar":{"package_id":"63928754ead2dcc8c2e7423f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fc84c04a20b78cb71e8f6ee02a1b1eaabf44a257e2211514c083a9f69820d788"},"ros-humble-rosbag2-test-common-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819563196,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7528bb743aafe962efe1f635c495007","name":"ros-humble-rosbag2-test-common","requires":[],"size":20906,"version":"0.15.3","binstar":{"package_id":"639287552b3749bdb867a0b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"36c7aae87f926082ff90b35322c50bb9af521f58ddf8dacf5c669258634ec425"},"ros-humble-rosbag2-test-common-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748204045,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f7fd8e4676477830ca65c8660109f649","name":"ros-humble-rosbag2-test-common","requires":[],"size":21194,"version":"0.15.4","binstar":{"package_id":"639287552b3749bdb867a0b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"791cf116825c6b658d889cdb4c58e8b2d6600b5eefd7e0716b4195987a085ef3"},"ros-humble-demo-nodes-py-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819849486,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"837b8e69edba2fb03c2425896954f4e2","name":"ros-humble-demo-nodes-py","requires":[],"size":18507,"version":"0.20.2","binstar":{"package_id":"639287564f66fd116f5b7d41","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"99f5514607fd13f16960f2b03ff719264ba5e504e38f25e5474a44707ae000e0"},"ros-humble-demo-nodes-py-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748480094,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9a11425945aec39bc91ec7ea7587ada5","name":"ros-humble-demo-nodes-py","requires":[],"size":17830,"version":"0.20.3","binstar":{"package_id":"639287564f66fd116f5b7d41","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"89b7be8c37cb2192e07079deb2da44ea5fadbf457d9a9560bc8822896c01798f"},"ros-humble-ros2cli-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["argcomplete","importlib-metadata","libcxx >=14.0.6","netifaces","numpy >=1.21.6,<2.0a0","packaging","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819403087,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ea42880786e5cfc0e4a368c55f7aba2","name":"ros-humble-ros2cli","requires":[],"size":44722,"version":"0.18.4","binstar":{"package_id":"6392875766b3e4e3dec96390","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f73df675d8847697af7f7d56d73f9cfa4a64d3fc1d05039d472f1923057f6be"},"ros-humble-ros2cli-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["argcomplete","importlib-metadata","libcxx >=14.0.6","netifaces","numpy >=1.21.6,<2.0a0","packaging","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748100725,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"58967af66e082c8d5241fc2005bdced6","name":"ros-humble-ros2cli","requires":[],"size":43239,"version":"0.18.5","binstar":{"package_id":"6392875766b3e4e3dec96390","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f3c95f1baefdaf6b2db5bed05a3e3e0f73d3321845a2b035c7dddf28e1c49238"},"ros-humble-rclcpp-action-16.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ament-cmake","ros-humble-rcl-action","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819923257,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d93546cd8e2f1084e2443855ad261870","name":"ros-humble-rclcpp-action","requires":[],"size":75871,"version":"16.0.2","binstar":{"package_id":"63928757a2b71210080fe617","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"87078c7366ccc1cb257dc8788b5fc8dfc87f2a61388a069577759d4e1911f553"},"ros-humble-rclcpp-action-16.0.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ament-cmake","ros-humble-rcl-action","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-rosidl-runtime-c","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749181323,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"197578ec0c6e9ea7fa7e75094dc3bd6f","name":"ros-humble-rclcpp-action","requires":[],"size":76186,"version":"16.0.3","binstar":{"package_id":"63928757a2b71210080fe617","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"626f8b30792d5fcf1c3b194b4e929a8630032bafd3bb9c0e6d9f9ef259476d3f"},"ros-humble-examples-rclpy-minimal-service-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820776042,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d2fc7e7fd185f84dbae46e9bdb2ea28f","name":"ros-humble-examples-rclpy-minimal-service","requires":[],"size":11807,"version":"0.15.1","binstar":{"package_id":"6392875846f81babca018b2e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f5fa82963b4646fd520556e3020172db77adce3fa03d436919729bedb8331c0f"},"ros-humble-examples-rclpy-minimal-service-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749220803,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a4ec27fc4bff6c0fafbdd37caa93536b","name":"ros-humble-examples-rclpy-minimal-service","requires":[],"size":11686,"version":"0.15.1","binstar":{"package_id":"6392875846f81babca018b2e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fcfaad16ebc49f3a03a8f4d16c009f4ba8f9ec837c07f1c6a16a7a47898cb526"},"ros-humble-laser-geometry-2.4.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-sensor-msgs-py","ros-humble-tf2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819778092,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7e2da46f992bc3d7ec033ae88f189c30","name":"ros-humble-laser-geometry","requires":[],"size":35212,"version":"2.4.0","binstar":{"package_id":"639287592dd706205568fc57","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f31934e678b5dcc10a0a90ff4cc4440d132cb19d48564481abe4c8bdfc25991e"},"ros-humble-laser-geometry-2.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-sensor-msgs-py","ros-humble-tf2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748445114,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d38a6e65f894da829f1ad905b16a6993","name":"ros-humble-laser-geometry","requires":[],"size":35531,"version":"2.4.0","binstar":{"package_id":"639287592dd706205568fc57","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e9e72983630a10d2ca38b66e5a131b5c95a72f823fd09c8db8c123fa1b880f97"},"ros-humble-rclcpp-components-16.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-class-loader","ros-humble-composition-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819760938,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a701e3a992360ee76287fb0fbe18d055","name":"ros-humble-rclcpp-components","requires":[],"size":95359,"version":"16.0.2","binstar":{"package_id":"63928759ead2dcc8c2e742de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f96067157b84c51769b8bdc555fe8b01fb2626fcc1c24fe0a145e1e05d1e2fef"},"ros-humble-rclcpp-components-16.0.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-class-loader","ros-humble-composition-interfaces","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748966795,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0e45b3185e4df84c4a294f5a58d168d7","name":"ros-humble-rclcpp-components","requires":[],"size":95567,"version":"16.0.3","binstar":{"package_id":"63928759ead2dcc8c2e742de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8e20141b09d4c5edaf877831dd3d5f4646a8f40410efdd6bdf078e332e4d27e"},"ros-humble-intra-process-demo-0.20.2-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670820607289,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b205b1d0759a0afa9b5b97ac0e2e78eb","name":"ros-humble-intra-process-demo","requires":[],"size":726987,"version":"0.20.2","binstar":{"package_id":"6392875a46f81babca018b74","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"20c0e46077bd17fb018f0454a97af975da1af1c87dd2d96e25ee15da16fd5414"},"ros-humble-intra-process-demo-0.20.3-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675749035457,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"47c838a9d0e07bed246871c0e079cd97","name":"ros-humble-intra-process-demo","requires":[],"size":722209,"version":"0.20.3","binstar":{"package_id":"6392875a46f81babca018b74","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"86db7060cf4baa591a2332a1f2435a542f80a5c2ae4223e8abf45f693ca84a3d"},"ros-humble-urdfdom-py-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819643563,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cbf5e615e9f3630ddbf6dfb9089f436c","name":"ros-humble-urdfdom-py","requires":[],"size":34612,"version":"1.2.0","binstar":{"package_id":"6392875b66b3e4e3dec965de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b54b9c5a8ff6fe3f5f4a85f0607cdc658c715b87dbca50ace65f82c249145f35"},"ros-humble-urdfdom-py-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748293322,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"76af9ec061ff123c65380a907120d0a4","name":"ros-humble-urdfdom-py","requires":[],"size":34197,"version":"1.2.0","binstar":{"package_id":"6392875b66b3e4e3dec965de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0691c2e68a8716ed78775c59541d66a22807a1f9fc932a7362fb0c5261f05c85"},"ros-humble-examples-rclpy-minimal-subscriber-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820691906,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c65beb32b2558ffc9b42d790db959000","name":"ros-humble-examples-rclpy-minimal-subscriber","requires":[],"size":12463,"version":"0.15.1","binstar":{"package_id":"6392875c358aafdd3d8e8aa0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"313f94c065331ca5f3f3203357cdbc2060ea1ac4b529ee12c6e75eae86063373"},"ros-humble-examples-rclpy-minimal-subscriber-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749133699,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8d40e5cf07fb5f7a4ff15b9e6d262c25","name":"ros-humble-examples-rclpy-minimal-subscriber","requires":[],"size":12314,"version":"0.15.1","binstar":{"package_id":"6392875c358aafdd3d8e8aa0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d4ef1f316f1638e1590fc0af329d34a2dc26395ca698b0120a1c6d32c79654a"},"ros-humble-geometric-shapes-2.1.3-py310h997c4fa_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost-cpp","eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","octomap >=1.9.8,<1.10.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qhull >=2020.2,<2020.3.0a0","ros-humble-console-bridge-vendor","ros-humble-eigen-stl-containers","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-random-numbers","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-shape-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h997c4fa_2","timestamp":1670820012584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"338e43e26a9174d0ec0b3e2a279e2ceb","name":"ros-humble-geometric-shapes","requires":[],"size":104320,"version":"2.1.3","binstar":{"package_id":"6392875c4f66fd116f5b7e6b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c1b3b36fdddf7a782f1d886573e8bbd9a9dd9bf937ffd19c37464e2acd24bca3"},"ros-humble-geometric-shapes-2.1.3-py310h997c4fa_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost-cpp","eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","octomap >=1.9.8,<1.10.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qhull >=2020.2,<2020.3.0a0","ros-humble-console-bridge-vendor","ros-humble-eigen-stl-containers","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-random-numbers","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-shape-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h997c4fa_3","timestamp":1675748677456,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ef7bde8beb4886b512dce483c9991ba9","name":"ros-humble-geometric-shapes","requires":[],"size":104648,"version":"2.1.3","binstar":{"package_id":"6392875c4f66fd116f5b7e6b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f8e51aaa2fe1145562db2e3ec02918a0537f75c57d96370e82191eff3128c973"},"ros-humble-quality-of-service-demo-py-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819943985,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3e9928e3691f7ab429e46c598952b54a","name":"ros-humble-quality-of-service-demo-py","requires":[],"size":23142,"version":"0.20.2","binstar":{"package_id":"6392875dd4690f71772d0a16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"83222e08810c0ee9a80cc8a76af8cce0d5b82a9191c4278eea56dc178a9be4de"},"ros-humble-quality-of-service-demo-py-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748558207,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dbe4ad7926899a520afe44993f46dbf8","name":"ros-humble-quality-of-service-demo-py","requires":[],"size":22589,"version":"0.20.3","binstar":{"package_id":"6392875dd4690f71772d0a16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2cec2c0fe0433af292e7238904f89f6dae529c3359c6465178c4cdd7e1fd7595"},"ros-humble-camera-calibration-parsers-3.1.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820511290,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0ed00b28e3df7d30634914e188902791","name":"ros-humble-camera-calibration-parsers","requires":[],"size":67049,"version":"3.1.5","binstar":{"package_id":"63928796d9a997aae727924e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9211ec56e3373451d196c0146090024de56e730642834b0002f6ee3d6af44707"},"ros-humble-camera-calibration-parsers-3.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748718181,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4f713a32661a9465fe1e10c131a94d5a","name":"ros-humble-camera-calibration-parsers","requires":[],"size":67428,"version":"3.1.5","binstar":{"package_id":"63928796d9a997aae727924e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"98cbeaae3b89ee0406573d58d7dd266deddeb70466a6a049bb9ad7b5989da3a2"},"ros-humble-rqt-gui-cpp-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-pluginlib","ros-humble-qt-gui","ros-humble-qt-gui-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670821106447,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d25ae68efced188c9eb9fbad0252f15e","name":"ros-humble-rqt-gui-cpp","requires":[],"size":112686,"version":"1.1.4","binstar":{"package_id":"6392879746bec18b89eaf720","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9b6a94a40931b01fa1724861bddc7dfe678d931e89ee11d8d8d38dba237a6b64"},"ros-humble-rqt-gui-cpp-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-pluginlib","ros-humble-qt-gui","ros-humble-qt-gui-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675749351241,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bf2c5e23cbe56b29201f15bde3c4220f","name":"ros-humble-rqt-gui-cpp","requires":[],"size":113035,"version":"1.1.4","binstar":{"package_id":"6392879746bec18b89eaf720","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"974059814b5c6b53c5d9c671120f9c7f2f7403b28abfeea30eb80482842cd6e4"},"ros-humble-filters-2.1.0-py310hec30da9_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hec30da9_2","timestamp":1670820905188,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d9e00e0e336fb0e5f48da0a0967b8836","name":"ros-humble-filters","requires":[],"size":71022,"version":"2.1.0","binstar":{"package_id":"6392879ae6a2f79ab835423c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7daa17816b0bd6a9b33f8ae26ddb2c56fc3538d20d55495588851fefec6e0d12"},"ros-humble-filters-2.1.0-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1675826659852,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"84ab39e1bc6f52e727f6ecf5d6013282","name":"ros-humble-filters","requires":[],"size":71352,"version":"2.1.0","binstar":{"package_id":"6392879ae6a2f79ab835423c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"507677c74b77b349cfe705c16300f6b4ed711d62f31eca17da85c880c4f6c14f"},"ros-humble-ros-gz-sim-0.244.9-py310h56ece85_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gflags >=2.2.2,<2.3.0a0","libcxx >=14.0.6","libignition-gazebo6 >=6.12.0,<7.0a0","libignition-math6 >=6.13.0,<7.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h56ece85_2","timestamp":1670821421403,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5903d7d7a5e3df145bc5f34353c1d731","name":"ros-humble-ros-gz-sim","requires":[],"size":178660,"version":"0.244.9","binstar":{"package_id":"6392879bd9a997aae7279355","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1b107d69365393f12d92d5b8f64c6861346535cbff6e180412938879a3f4788e"},"ros-humble-ros-gz-sim-0.244.9-py310h56ece85_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gflags >=2.2.2,<2.3.0a0","libcxx >=14.0.6","libignition-gazebo6 >=6.12.0,<7.0a0","libignition-math6 >=6.13.0,<7.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h56ece85_3","timestamp":1675749900742,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3347f81ea3041dff4a9a91bc82bd2f84","name":"ros-humble-ros-gz-sim","requires":[],"size":176763,"version":"0.244.9","binstar":{"package_id":"6392879bd9a997aae7279355","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c445deb7c3413ac5b89303bc3a7bb518462331d47319a9938e1d873b73d5fe2"},"ros-humble-behaviortree-cpp-v3-3.8.0-py310hfdddec2_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","boost-cpp","cppzmq","libcxx >=14.0.6","ncurses >=6.3,<7.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","zeromq >=4.3.4,<4.4.0a0"],"build":"py310hfdddec2_2","timestamp":1670820249354,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"41c10d9c7d82839fdaa84eb9cf9bcb44","name":"ros-humble-behaviortree-cpp-v3","requires":[],"size":321350,"version":"3.8.0","binstar":{"package_id":"6392881eead2dcc8c2e78ac7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2683b104268a023a4754bf58d9ac9fac47a760fab005637b4166cceb8d5c010f"},"ros-humble-behaviortree-cpp-v3-3.8.2-py310hfdddec2_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","boost-cpp","cppzmq","libcxx >=14.0.6","ncurses >=6.3,<7.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","zeromq >=4.3.4,<4.4.0a0"],"build":"py310hfdddec2_3","timestamp":1675841597341,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"872d3363de66a3286f834ee4cceca973","name":"ros-humble-behaviortree-cpp-v3","requires":[],"size":332076,"version":"3.8.2","binstar":{"package_id":"6392881eead2dcc8c2e78ac7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"752b0b48a5c346eaed40585830abe4bfec7a10bb1b85c40f0d191b7e10357cbe"},"ros-humble-rqt-py-common-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820707752,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a7b8ca2f6ad3d95042ab20cc00155289","name":"ros-humble-rqt-py-common","requires":[],"size":44160,"version":"1.1.4","binstar":{"package_id":"6392881f4f66fd116f5c0688","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bf6f5ae4c7e64733756b4ba5c5008d8a8ff7e62efbbc1bc1f6d599ffc05f5eee"},"ros-humble-rqt-py-common-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675748499411,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1c74759c65217b847158b38988182c5c","name":"ros-humble-rqt-py-common","requires":[],"size":44573,"version":"1.1.4","binstar":{"package_id":"6392881f4f66fd116f5c0688","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"843cf8e533ec536ac722d72f285e2185f98b191089a989a772ea19cfda88b1be"},"ros-humble-rsl-0.2.1-py310h68909e6_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h68909e6_2","timestamp":1670819550065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b0037b8af06c337036dbaaf2768f1076","name":"ros-humble-rsl","requires":[],"size":26017,"version":"0.2.1","binstar":{"package_id":"6392882066b3e4e3dec9ec93","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d6eef2e87ef12f50877223ad2a68f49da4e2128f43e6ba98a78d34c1248a7223"},"ros-humble-rsl-0.2.1-py310h68909e6_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h68909e6_3","timestamp":1675771874070,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d36eb1d5479de185fbf6d9702b3cc0bd","name":"ros-humble-rsl","requires":[],"size":26308,"version":"0.2.1","binstar":{"package_id":"6392882066b3e4e3dec9ec93","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"441f5366b5a7a541c045b81a3227c6b8db588d834a175198d5b413dbc15c0c08"},"ros-humble-launch-param-builder-0.1.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670819689878,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f82388a5b233721b42b7d4372bdff8b7","name":"ros-humble-launch-param-builder","requires":[],"size":16982,"version":"0.1.1","binstar":{"package_id":"63928821959458a07d3ab59c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ba2dc0fbc02714f3343b314fecc82493ff8658af61adfd824e791419ccf5d74"},"ros-humble-launch-param-builder-0.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771688020,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"411ef9305364f04ca83fcbbd820a18fd","name":"ros-humble-launch-param-builder","requires":[],"size":15964,"version":"0.1.1","binstar":{"package_id":"63928821959458a07d3ab59c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c53291e2163fa0ffbead00749216e7252648d7753cbd43c691cb43ce1396cc2c"},"ros-humble-rqt-gui-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820489292,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"506af053ac3494cc290eb17d2ab8ec30","name":"ros-humble-rqt-gui","requires":[],"size":107081,"version":"1.1.4","binstar":{"package_id":"63928822e6a2f79ab8356d38","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb37a715bce4476e1d61f3599101becce6a1f4ee911436c02e51571d4c6e5302"},"ros-humble-rqt-gui-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826335722,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"06e339f156139e66a0e921082fc09796","name":"ros-humble-rqt-gui","requires":[],"size":106757,"version":"1.1.4","binstar":{"package_id":"63928822e6a2f79ab8356d38","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"accc2077c5234fb4ab4e9a5c815e1507871a405b8a305ed145dfc160a4897929"},"ros-humble-bondcpp-3.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-bond","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-smclib","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822819571,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1b5d1227bec07563a21c74734ebe94e2","name":"ros-humble-bondcpp","requires":[],"size":166292,"version":"3.0.2","binstar":{"package_id":"6392896154e9ace854cd375c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fc6c682658405902643ce52bf5dd6ec9e5268a9d4e6f31a5e6f2efd8d71c42d0"},"ros-humble-bondcpp-3.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-bond","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-smclib","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755491464,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ce32fc5da6a782430fe8610b45d71fbf","name":"ros-humble-bondcpp","requires":[],"size":165731,"version":"3.0.2","binstar":{"package_id":"6392896154e9ace854cd375c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"80978869ecb5f789b3ae9aa6f97f3621c83562514cae39c7d67ebcb0d9126be7"},"ros-humble-tf2-ros-py-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-msgs","ros-humble-tf2-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822527812,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e9e4d6a42897993941d6a138a02301c1","name":"ros-humble-tf2-ros-py","requires":[],"size":27181,"version":"0.25.1","binstar":{"package_id":"63928962e6a2f79ab835d5f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a064ce5fa4464dcd0071e3e4eb5742fb6631a3f1944edb698c1d8cc81976b8c3"},"ros-humble-tf2-ros-py-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-msgs","ros-humble-tf2-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755186596,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1cd8aa0d1d589255ef674fcaaaefd53b","name":"ros-humble-tf2-ros-py","requires":[],"size":26470,"version":"0.25.2","binstar":{"package_id":"63928962e6a2f79ab835d5f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"866c6780b06f71b68b593aae654b2524e4772f33daae40ed8a4b904acd2994e7"},"ros-humble-nav2-common-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-cmake-core","ros-humble-launch","ros-humble-launch-ros","ros-humble-osrf-pycommon","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822618701,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b01b760d9bc93a43b1b14a0356fe3bdb","name":"ros-humble-nav2-common","requires":[],"size":20434,"version":"1.1.3","binstar":{"package_id":"63928963358aafdd3d8ec129","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48f013888bada550d7c021069cd4e829b6be8727341655d797b51cc52b9cb328"},"ros-humble-nav2-common-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-cmake-core","ros-humble-launch","ros-humble-launch-ros","ros-humble-osrf-pycommon","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755308358,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"55a0eccffa9dcda15190819369e6ff69","name":"ros-humble-nav2-common","requires":[],"size":20785,"version":"1.1.5","binstar":{"package_id":"63928963358aafdd3d8ec129","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a575fdd7ce585b603de45cb557109e858ddefd078113723b6fb99d36ce556b02"},"ros-humble-launch-testing-ros-0.19.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822432679,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"466401d1b4820bf22d93910c503ba011","name":"ros-humble-launch-testing-ros","requires":[],"size":28507,"version":"0.19.3","binstar":{"package_id":"63928963358aafdd3d8ec13d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1365e1c36a12b06008abbd3c4c144a130f7e05ca7d8cfcca2a00c3d5e82214be"},"ros-humble-launch-testing-ros-0.19.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755080644,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8ce0b4cca63198f25630562ba564923e","name":"ros-humble-launch-testing-ros","requires":[],"size":27508,"version":"0.19.4","binstar":{"package_id":"63928963358aafdd3d8ec13d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1702f52840cd95321d7dd7d18fc49dafbc72151f6893e8548d5b30fef20809ff"},"ros-humble-message-filters-4.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822339111,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b4e648ff70d9bded1c12666431816826","name":"ros-humble-message-filters","requires":[],"size":46596,"version":"4.3.2","binstar":{"package_id":"6392896466b3e4e3deca947b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6fe236da661570b4eadebc3aea9b32e74597b081c7f0aa2377e57c20a21c1657"},"ros-humble-message-filters-4.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-rcutils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675754969458,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c5c96f4a1143bf10c68183678ff15cb5","name":"ros-humble-message-filters","requires":[],"size":46917,"version":"4.3.2","binstar":{"package_id":"6392896466b3e4e3deca947b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d3cdf799ff6a8e84da267a4e9787d2355e59561a626a887bf4895677c78a7d64"},"ros-humble-rqt-gui-py-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-qt-gui","ros-humble-ros-workspace","ros-humble-rqt-gui","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823674044,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6eb7e2d6f3923730c521209a353f538e","name":"ros-humble-rqt-gui-py","requires":[],"size":14509,"version":"1.1.4","binstar":{"package_id":"6392897b83c9be96eba70601","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5859283dbc38e375fbe4d180f10576814047606a4aa33ef19cbf008048a769d0"},"ros-humble-rqt-gui-py-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-qt-gui","ros-humble-ros-workspace","ros-humble-rqt-gui","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831063098,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"62c8f166dc4acd38ce929a7a8af64ac5","name":"ros-humble-rqt-gui-py","requires":[],"size":14250,"version":"1.1.4","binstar":{"package_id":"6392897b83c9be96eba70601","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9ebe0681bae0db084a0033547d2a4fe1daa28ce3a4839a970e1985976f1d1820"},"ros-humble-realtime-tools-2.4.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823328429,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b37ac0705c1cdade861efb7a99199bf9","name":"ros-humble-realtime-tools","requires":[],"size":27577,"version":"2.4.0","binstar":{"package_id":"6392897d46bec18b89ec0dc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cfa93f4cac209a2e8995c0e925515de4bbb458e25f8c9a101d91a8eed4174beb"},"ros-humble-realtime-tools-2.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771604887,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8387780df0d61ca63d852beefd7e743e","name":"ros-humble-realtime-tools","requires":[],"size":28413,"version":"2.5.0","binstar":{"package_id":"6392897d46bec18b89ec0dc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78ea09b75addae6ad52d950251d5c133a75c4dfcadf886af70610dd47d9587e1"},"ros-humble-camera-info-manager-3.1.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-camera-calibration-parsers","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823960400,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b13df8abcb13b0dc9d7ae207cee486a0","name":"ros-humble-camera-info-manager","requires":[],"size":45770,"version":"3.1.5","binstar":{"package_id":"6392897da2b712100811f84f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"948fecbcacb5f49f51fc09f1331022a3c4c17de886705d01dd35d8725c59d345"},"ros-humble-camera-info-manager-3.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-camera-calibration-parsers","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755662273,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"41b29e92e629fbdf3ff43d3f1a1ecfcb","name":"ros-humble-camera-info-manager","requires":[],"size":46132,"version":"3.1.5","binstar":{"package_id":"6392897da2b712100811f84f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"760e3b267bbdebea81db38c3fee7d60d478cf4b161a7df6730d37b0558300f38"},"ros-humble-ros2multicast-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823797472,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5d00982cf2716231bd001a056b753c6a","name":"ros-humble-ros2multicast","requires":[],"size":14390,"version":"0.18.4","binstar":{"package_id":"6392897e6a03c9fad26499ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"03d1c210b8c3585bd64114db1417ab130bf8cd8b533e6a604f5f3849574bb81d"},"ros-humble-ros2multicast-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755514308,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ddd4cc2a240ea07809d265d12cf2f98d","name":"ros-humble-ros2multicast","requires":[],"size":13910,"version":"0.18.5","binstar":{"package_id":"6392897e6a03c9fad26499ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fade8c0e1fda74b37dc148e7f0357165b96e25426d25c50e28915dd26684f07f"},"ros-humble-ros2lifecycle-test-fixtures-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823499600,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a9339f5e66e4217800b9280b797d8e8d","name":"ros-humble-ros2lifecycle-test-fixtures","requires":[],"size":19420,"version":"0.18.4","binstar":{"package_id":"6392897f2b3749bdb86863a1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8a1f86339473a23df5427a2d36e2b7d8e6ec94ed69df7858f6a5aafe1914159"},"ros-humble-ros2lifecycle-test-fixtures-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755407963,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a7ab2eaa9fa373ad9a5882f2d941d9ad","name":"ros-humble-ros2lifecycle-test-fixtures","requires":[],"size":19693,"version":"0.18.5","binstar":{"package_id":"6392897f2b3749bdb86863a1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f03865392aae4a512f27d03d2dbfda1ff8471b4a3a5ca3c97ed333ec9b39f846"},"ros-humble-parameter-traits-0.3.0-py310h68909e6_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rsl","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h68909e6_2","timestamp":1670822909624,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f5d88d761e86fd8668aab3df37adf2ef","name":"ros-humble-parameter-traits","requires":[],"size":15447,"version":"0.3.0","binstar":{"package_id":"6392898b46bec18b89ec1178","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ca6ec910143fb9f0c62eb11d9bf242570ea8af3c5c910d0fa42828e31f5b0fa"},"ros-humble-parameter-traits-0.3.0-py310h68909e6_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rsl","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h68909e6_3","timestamp":1675826040720,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7fac2856148ba9871f2972db6a0cac68","name":"ros-humble-parameter-traits","requires":[],"size":15672,"version":"0.3.0","binstar":{"package_id":"6392898b46bec18b89ec1178","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f28643a5a0c363d5a9433e51b0d698d11498e2062e23cb7715addf231e287e99"},"ros-humble-rosbag2-storage-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822265940,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4f9e194336871e8ffddad83824d50ca4","name":"ros-humble-rosbag2-storage","requires":[],"size":161107,"version":"0.15.3","binstar":{"package_id":"6392898d46bec18b89ec11d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3f24148a65d657a35d988e0b4b735f43dca65aa00f0d7fd362a3ff4773f6f96f"},"ros-humble-rosbag2-storage-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772165581,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"05d90c66ea93082a5b87033e33eda527","name":"ros-humble-rosbag2-storage","requires":[],"size":160023,"version":"0.15.4","binstar":{"package_id":"6392898d46bec18b89ec11d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"02782e8b56ad3051f8bd8d2aecc51c96661dc69489634f6d5589178ac9a65c4c"},"ros-humble-srdfdom-2.0.4-py310h39e66c4_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-console-bridge-vendor","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-urdfdom-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h39e66c4_2","timestamp":1670822611779,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"da8225d5532bdfb197d7338e423d0610","name":"ros-humble-srdfdom","requires":[],"size":78681,"version":"2.0.4","binstar":{"package_id":"6392898ebbbc2b1e963a61b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1f3a7490912dfaaa06707483340f5cda121608082104b92da67b3b082d7cdcc8"},"ros-humble-srdfdom-2.0.4-py310h39e66c4_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-console-bridge-vendor","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-urdfdom-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h39e66c4_3","timestamp":1675771705625,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"edca9bb60c26ead0dbba087901c9a519","name":"ros-humble-srdfdom","requires":[],"size":79046,"version":"2.0.4","binstar":{"package_id":"6392898ebbbc2b1e963a61b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"400af8cccafef179f9aa48e354b86dca12cdb63ef98eef23a4028b5d6e802822"},"ros-humble-diagnostic-updater-3.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-diagnostic-msgs","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822431222,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"29b23acad5ef5bb5c1b0af356e9ea828","name":"ros-humble-diagnostic-updater","requires":[],"size":125035,"version":"3.0.0","binstar":{"package_id":"63928991a2b712100811ff49","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d41971f9c671c66a3b920a3bcc23abf0460d6f5b33a96c095706f5575fb69af7"},"ros-humble-diagnostic-updater-3.1.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-diagnostic-msgs","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772327242,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e2691959ba995572f8e77e56dfa6f2ef","name":"ros-humble-diagnostic-updater","requires":[],"size":128277,"version":"3.1.0","binstar":{"package_id":"63928991a2b712100811ff49","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4a1b35db4db6336f1d2bef8c744362831c32fc6a6506d0d10da0e9fa065b0f9b"},"ros-humble-hardware-interface-2.18.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-lifecycle-msgs","ros-humble-pluginlib","ros-humble-rclcpp-lifecycle","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822794979,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"706d75ea4c2cd2217e2a9544251f47e0","name":"ros-humble-hardware-interface","requires":[],"size":215006,"version":"2.18.0","binstar":{"package_id":"63928993a2b712100811ff77","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b4f54fe2e1284028b33a68be70f67bb3c053eea6e97b9d0310db06dec831f900"},"ros-humble-hardware-interface-2.22.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-lifecycle-msgs","ros-humble-pluginlib","ros-humble-rclcpp-lifecycle","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-tinyxml2-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771358650,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"762d5b46c0722f9b62bb3539c0577b7f","name":"ros-humble-hardware-interface","requires":[],"size":216748,"version":"2.22.0","binstar":{"package_id":"63928993a2b712100811ff77","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d899781083eb2d5ca38afcc865d4288d0ddfb19da78859df54b2137deaf752d3"},"ros-humble-examples-rclcpp-minimal-composition-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823108560,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"25fade5a9c59fae792c9f91ee271f369","name":"ros-humble-examples-rclcpp-minimal-composition","requires":[],"size":140099,"version":"0.15.1","binstar":{"package_id":"639289ee46bec18b89ec241e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6bbcb46907296f11cd0fa9fc4c66a100075e8f0b263668706b02b2dba0ccfc98"},"ros-humble-examples-rclcpp-minimal-composition-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756131702,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f09837092e3bb7af45b8c987fa939997","name":"ros-humble-examples-rclcpp-minimal-composition","requires":[],"size":140267,"version":"0.15.1","binstar":{"package_id":"639289ee46bec18b89ec241e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1cfe61130e1a35c5db359165b9ef3cb2cec243aafa04ad408559d345393309b0"},"ros-humble-action-tutorials-cpp-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823711956,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3decd62e5d5149a995bf05656c594ef8","name":"ros-humble-action-tutorials-cpp","requires":[],"size":87847,"version":"0.20.2","binstar":{"package_id":"639289f0a2b71210081216d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"85556d2adbd6aefc17b0b29379c37f0f6e3d4948a0c094652c38f1a7726209ce"},"ros-humble-action-tutorials-cpp-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755968992,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8d23b90504fb65fdd5c3ac66654b4d4e","name":"ros-humble-action-tutorials-cpp","requires":[],"size":88136,"version":"0.20.3","binstar":{"package_id":"639289f0a2b71210081216d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"744091dfae908637336c1a2e28967116d0ca5dab93241399d5e1caefd0275ba1"},"ros-humble-examples-rclcpp-minimal-action-client-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823252878,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f210069bddb43e12527d596fe2ce2190","name":"ros-humble-examples-rclcpp-minimal-action-client","requires":[],"size":101107,"version":"0.15.1","binstar":{"package_id":"639289f146bec18b89ec2465","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45398868cec22ecd5ec8c7e30e9ca98f90e9aec6b7ffeefa1cb8944c06a281e3"},"ros-humble-examples-rclcpp-minimal-action-client-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756475559,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a766266deed6555afe2a871fab77f81f","name":"ros-humble-examples-rclcpp-minimal-action-client","requires":[],"size":101455,"version":"0.15.1","binstar":{"package_id":"639289f146bec18b89ec2465","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d5d6ddcf693999cac803877d5384bb3a03fbf284b7435db898b290972545cc0b"},"ros-humble-examples-rclcpp-minimal-action-server-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823288236,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c3f9016d7fc8a06bd7429a614dedbaed","name":"ros-humble-examples-rclcpp-minimal-action-server","requires":[],"size":55248,"version":"0.15.1","binstar":{"package_id":"639289f42b3749bdb8687ad5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c80d371fff61ced9d05718b51adea3cf914c38dacd30fda12c3fc1917b2752b0"},"ros-humble-examples-rclcpp-minimal-action-server-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756299349,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e7bf7924b80ea1ca812520b8e3af75b3","name":"ros-humble-examples-rclcpp-minimal-action-server","requires":[],"size":55461,"version":"0.15.1","binstar":{"package_id":"639289f42b3749bdb8687ad5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3770a071b4e2c7af782c42a7a71a9e3d29461aecfd7ed223045a9dab8543e400"},"ros-humble-depthimage-to-laserscan-2.5.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-geometry","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670823526308,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8fefb50008f91ecd98b120fcfe2eac7f","name":"ros-humble-depthimage-to-laserscan","requires":[],"size":193480,"version":"2.5.0","binstar":{"package_id":"639289f6e6a2f79ab835e767","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d21b9ada6624a40e1f682033c85531352680cfffd35646333b259afd5b52422"},"ros-humble-depthimage-to-laserscan-2.5.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-geometry","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675756732923,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a1b91ffe7d300af9fa7ddcaf2a6a1f4","name":"ros-humble-depthimage-to-laserscan","requires":[],"size":192141,"version":"2.5.0","binstar":{"package_id":"639289f6e6a2f79ab835e767","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c4c8ed8bccb157f0ac2a8eedc68b6d59a6626df6d0ae55149e0d04aa7b26ad87"},"ros-humble-rosbridge-msgs-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670808721668,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"38df448c64ca5e2ac4e06d568984c695","name":"ros-humble-rosbridge-msgs","requires":[],"size":60553,"version":"1.3.1","binstar":{"package_id":"63928a9f46f81babca03a9b3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"118f91affe24fb941bfa5d419d243549fd8edf613629e0bba80db348208bcd26"},"ros-humble-rosbridge-msgs-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675737061908,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74cf8ab58bfa4a678f8381ad4a2f5f21","name":"ros-humble-rosbridge-msgs","requires":[],"size":61008,"version":"1.3.1","binstar":{"package_id":"63928a9f46f81babca03a9b3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"416eb9e56f07a7990dd16155d38566ec0f74d7030e9f4fee930af7f749c287ed"},"ros-humble-joint-limits-2.31.0-py310h927cc32_3.tar.bz2":{"build_number":3,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"subdir":"osx-arm64","timestamp":1694673268205,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py310h927cc32_3","md5":"cfe7c1feeffb1c3cd938925fbf6dc86d","name":"ros-humble-joint-limits","requires":[],"size":17373,"version":"2.31.0","binstar":{"package_id":"63928b25d9a997aae729c4ef","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"36cc674c8db8208d059325da327cb55a74a7bd4fba63eb40dea98fd6a9939187"},"ros-humble-joy-3.1.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sdl2-vendor","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823676378,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dbb0cc06a0d6b232504622e7044c6831","name":"ros-humble-joy","requires":[],"size":164732,"version":"3.1.0","binstar":{"package_id":"63928b264f66fd116f5dbf94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"680fccc91a78d374d95201c427e0ffe6977a671c961fe709c9384e3a7dcfaa22"},"ros-humble-joy-3.1.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sdl2-vendor","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755940097,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"603552f53fbc48f0fc82b626bdab0e86","name":"ros-humble-joy","requires":[],"size":166034,"version":"3.1.0","binstar":{"package_id":"63928b264f66fd116f5dbf94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"40855bcad3770ef11775e5f8310f2a79782f9df0eeaace5ad9df3ba828d3fb53"},"ros-humble-rosapi-msgs-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670811610097,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"40bc157bfdbc7acb6536ca0207a6c20c","name":"ros-humble-rosapi-msgs","requires":[],"size":319879,"version":"1.3.1","binstar":{"package_id":"639290084f66fd116f6112ae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0e2ab24f5ec38ea5d07d73f3986ab2cd2fa0acf7ac7b69bb872278a8d09c0ea1"},"ros-humble-rosapi-msgs-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rcl-interfaces","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675739306137,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b8408d1ff6a929e78a0ca69274796d81","name":"ros-humble-rosapi-msgs","requires":[],"size":339356,"version":"1.3.1","binstar":{"package_id":"639290084f66fd116f6112ae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"992cde8a7b9914604fd0f5b1a0df54adbde4f584d7181da887e6d6acdc7e9d3e"},"ros-humble-rosbridge-test-msgs-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670820731207,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b043dcd9169e9d2b29da9e5bfd513ec1","name":"ros-humble-rosbridge-test-msgs","requires":[],"size":239850,"version":"1.3.1","binstar":{"package_id":"6392a5d146bec18b89f51e18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b17b382bd9c32e4fabadd057e7999e620fa198cf2aca32d7922464dac6fe6406"},"ros-humble-rosbridge-test-msgs-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675749038674,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dd3f04bec58c3b26294bf03d428b9ac7","name":"ros-humble-rosbridge-test-msgs","requires":[],"size":233581,"version":"1.3.1","binstar":{"package_id":"6392a5d146bec18b89f51e18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ab97ec69cdde0004dfe06586af4d8d13ee70cb53d73524e2228f38302e3aa06a"},"ros-humble-turtlesim-1.4.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-geometry-msgs","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros-humble-std-srvs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670824396927,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c53714331cba7d637c132f811ac0471","name":"ros-humble-turtlesim","requires":[],"size":719860,"version":"1.4.2","binstar":{"package_id":"6392a84d6a03c9fad274ba67","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4109587ecb97219d0b2b23486958245e77bd2c0da65a881cd26f4b238d892bc7"},"ros-humble-turtlesim-1.4.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-geometry-msgs","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros-humble-std-srvs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675756730498,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a9c2ea12df6850e6b145db84cfb7fe0a","name":"ros-humble-turtlesim","requires":[],"size":702233,"version":"1.4.2","binstar":{"package_id":"6392a84d6a03c9fad274ba67","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"399767171456dec468d04cec10b80219d81d2f5912db0c573e8d05e77641e7e2"},"ros-humble-topic-monitor-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch","ros-humble-launch-ros","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822284836,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c76a78d09a68755033964b926917e1e","name":"ros-humble-topic-monitor","requires":[],"size":23914,"version":"0.20.2","binstar":{"package_id":"6392a84f46bec18b89f5ef29","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"17ba56eb5445bd308dc77a7bbd98a17b591150261b787d864bef8f9e962a27b7"},"ros-humble-topic-monitor-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch","ros-humble-launch-ros","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756841406,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a1e53d2d97c60133ac1913355e49299f","name":"ros-humble-topic-monitor","requires":[],"size":23563,"version":"0.20.3","binstar":{"package_id":"6392a84f46bec18b89f5ef29","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6de3a408cf8638e5f865bb19d503813fe1a9baa76bf07d93cb61ace864af1cbc"},"ros-humble-examples-rclcpp-minimal-subscriber-0.15.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822916350,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ba50fd8df22a0bd429eaf5dc3a56513e","name":"ros-humble-examples-rclcpp-minimal-subscriber","requires":[],"size":905975,"version":"0.15.1","binstar":{"package_id":"6392a887e6a2f79ab841fff4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"993124807e177ed583655fe4f8f26e6b5c2148354a28c6aaf352061bc3e1bc96"},"ros-humble-examples-rclcpp-minimal-subscriber-0.15.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675755939451,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3208f6a79d390726ddf86ab89148586a","name":"ros-humble-examples-rclcpp-minimal-subscriber","requires":[],"size":896058,"version":"0.15.1","binstar":{"package_id":"6392a887e6a2f79ab841fff4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"686b4b188036250657597dc084319be4c6386d280c96f22726d4811c4ff754b2"},"ros-humble-quality-of-service-demo-cpp-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670822650144,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"663e393ee96ff5d5a0479c8ec020c4ae","name":"ros-humble-quality-of-service-demo-cpp","requires":[],"size":1016291,"version":"0.20.2","binstar":{"package_id":"6392a88aa2b7121008292389","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"df3dd68b4c5a26a3073256c24e8108b8d3a11c4bb760a63bedeac510ce5481e1"},"ros-humble-quality-of-service-demo-cpp-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675757189604,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fc1a850c5473f6a5cf5f667a296bf253","name":"ros-humble-quality-of-service-demo-cpp","requires":[],"size":1000931,"version":"0.20.3","binstar":{"package_id":"6392a88aa2b7121008292389","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"983a1e4e892b4401833f23bba712ce8249e361cb3757acd4348e4b0fa020fe81"},"ros-humble-rqt-graph-1.3.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-dotgraph","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826717386,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5347fc1b6e05170975bf3a4aeb988876","name":"ros-humble-rqt-graph","requires":[],"size":48340,"version":"1.3.0","binstar":{"package_id":"6392b38f6a03c9fad27afbb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9bde797930c25274bd54355b5292cfaef2634de95f573a1dfc21d77cdce49df8"},"ros-humble-rqt-graph-1.3.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-dotgraph","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841477767,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c387d4353513a20b071949fe720a2cf0","name":"ros-humble-rqt-graph","requires":[],"size":47837,"version":"1.3.0","binstar":{"package_id":"6392b38f6a03c9fad27afbb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79102783462a180658a670f55b6dddc6a1226ff28dde642f8a85ab372683a30b"},"ros-humble-rqt-publisher-1.5.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826627561,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83e0e52868e1b08f0d26a1f47ea47cc3","name":"ros-humble-rqt-publisher","requires":[],"size":28241,"version":"1.5.0","binstar":{"package_id":"6392b3902dd706205576690b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d3495072a4ef7ce5f71c9c8d36c6fd6c6a0abff9c04d0f2e1e8a0d12e64b1ba8"},"ros-humble-rqt-publisher-1.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841383480,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"215498d973c047dead86bccc3d860a9d","name":"ros-humble-rqt-publisher","requires":[],"size":27694,"version":"1.5.0","binstar":{"package_id":"6392b3902dd706205576690b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"77c52cc591f5472fc728e5edbe1161124741029a84137186e1d548eec59d21c8"},"ros-humble-rqt-py-console-1.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826554757,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"48cedf9a41e5e9dcfe1b686cb8d04b39","name":"ros-humble-rqt-py-console","requires":[],"size":17327,"version":"1.0.2","binstar":{"package_id":"6392b3936e0eca100b4d2635","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb81d07b50f4fe5272593fbbfd1df0296a4e7cd478327367870e724a3558d2a2"},"ros-humble-rqt-py-console-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841572424,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d337885e8931c3e0c728e1ce20440544","name":"ros-humble-rqt-py-console","requires":[],"size":16834,"version":"1.0.2","binstar":{"package_id":"6392b3936e0eca100b4d2635","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7b061763c2dd8316e8eddef25eeb9b48ac3d24f62c9ad2f1574c19d4b7a65f58"},"ros-humble-rqt-shell-1.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-qt-gui-py-common","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826788471,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9906b46149b8f03ac740124c54ebd0ba","name":"ros-humble-rqt-shell","requires":[],"size":20431,"version":"1.0.2","binstar":{"package_id":"6392b394096178989be2e5c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b1ee1b01a68667a3a238eaf5283c65cf57ddb3b639aaf527b4247989c31bebb3"},"ros-humble-rqt-shell-1.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui","ros-humble-qt-gui-py-common","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841353490,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6768b8f8d319be0fb70755d1af94a2b3","name":"ros-humble-rqt-shell","requires":[],"size":19940,"version":"1.0.2","binstar":{"package_id":"6392b394096178989be2e5c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8625ec797c424b46c77ae724e050f5490e44d1f8e2172f03adcefa7000753c31"},"ros-humble-rqt-service-caller-1.0.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826481462,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6fa28ea7a4d72532d41bac3ed81c10f","name":"ros-humble-rqt-service-caller","requires":[],"size":21755,"version":"1.0.5","binstar":{"package_id":"6392b395d9a997aae73f3efa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cc70ae96da57f327d72f8715fea09b4918f73992b7c700389d6e07abf882a2bf"},"ros-humble-rqt-service-caller-1.0.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841461539,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3ea8f005b564cda48f3fb062299bd8f4","name":"ros-humble-rqt-service-caller","requires":[],"size":21437,"version":"1.0.5","binstar":{"package_id":"6392b395d9a997aae73f3efa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3678dcb24ebe6a60e497f084867c726cfd3b23465be536b7fd4eeae00aaf31c7"},"ros-humble-ros2test-0.4.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-domain-coordinator","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-launch-testing-ros","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825870760,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"615001612600561d1e9fbc73df39dbfe","name":"ros-humble-ros2test","requires":[],"size":11196,"version":"0.4.0","binstar":{"package_id":"6392b3c046bec18b89f9e0ad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d74b1135c7429e8790d16933d346815c3b6987de9d5f59ae4cd28ac780157765"},"ros-humble-ros2test-0.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-domain-coordinator","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-launch-testing-ros","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771464048,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e9ac9b165b15075e348e98bb751fae44","name":"ros-humble-ros2test","requires":[],"size":10902,"version":"0.4.0","binstar":{"package_id":"6392b3c046bec18b89f9e0ad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ecc8f55f46601d59c2275cb3cc7d69a3718ae1b2717cda11883a57e04106a5aa"},"ros-humble-ros2node-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825752730,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bb028d2448623e1a827cc89e80dba1ef","name":"ros-humble-ros2node","requires":[],"size":17527,"version":"0.18.4","binstar":{"package_id":"6392b3c1d9a997aae73f50b8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e44a23cab5dda63af7ed439aec223e3bb583f93dce6a17191e285e0cffb5fd0d"},"ros-humble-ros2node-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771178906,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"147b19c341b703143c482021617ea28b","name":"ros-humble-ros2node","requires":[],"size":16978,"version":"0.18.5","binstar":{"package_id":"6392b3c1d9a997aae73f50b8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"295781a304056655c1d1b1169c8e21626d8a1b954dc51687667cbd7edf196d5a"},"ros-humble-ros2service-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825639283,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2c0ac383fd3649bfe85a59ea7625acd6","name":"ros-humble-ros2service","requires":[],"size":18718,"version":"0.18.4","binstar":{"package_id":"6392b3c2ed6d66bf8fa294fa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48ea74b6d1851458dcb43cbbf45ca6560fab5715536a44a263248b2383168089"},"ros-humble-ros2service-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772098682,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"511dafcdf86e2bf958f99b751fb55303","name":"ros-humble-ros2service","requires":[],"size":18102,"version":"0.18.5","binstar":{"package_id":"6392b3c2ed6d66bf8fa294fa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c37cc96c56a74e8252cee91b739ef7b8436bff69dcad73f40e5ae29e30128767"},"ros-humble-ros2pkg-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["catkin_pkg","empy","importlib_resources","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-copyright","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825547036,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9040729d9dda9ba96c8760bf732acbd1","name":"ros-humble-ros2pkg","requires":[],"size":29818,"version":"0.18.4","binstar":{"package_id":"6392b3c3ead2dcc8c2fac57a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"62f6dfb031605d61b51cb766867596ca434d2e274f277eeda9a6bcc36cb1a1c2"},"ros-humble-ros2pkg-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["catkin_pkg","empy","importlib_resources","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-copyright","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771985809,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc1ed87485bcc90d1e39bc14f1f71ad1","name":"ros-humble-ros2pkg","requires":[],"size":28173,"version":"0.18.5","binstar":{"package_id":"6392b3c3ead2dcc8c2fac57a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8eb6a3c70554c9901055f850c6d6387f25e8d1c854584e87d91173ab83e2a91d"},"ros-humble-controller-interface-2.18.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-hardware-interface","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826059391,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"50ac9a1139708fffcd71545be741ec04","name":"ros-humble-controller-interface","requires":[],"size":35288,"version":"2.18.0","binstar":{"package_id":"6392b3c546bec18b89f9e0fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"38723d58fe9e2c6610dc13aa3ab1e180e09beee542d7e0d6bb9d93ae90f6d466"},"ros-humble-controller-interface-2.22.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-hardware-interface","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831869186,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8f82d3cd7727039ca6d88ef26d03974d","name":"ros-humble-controller-interface","requires":[],"size":35522,"version":"2.22.0","binstar":{"package_id":"6392b3c546bec18b89f9e0fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"02e25f9aa3da224a4aaa90e104676ec5955209f3699fd4b2a230f578ccb84dec"},"ros-humble-pcl-conversions-2.4.0-py310h9401cb5_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-message-filters","ros-humble-pcl-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h9401cb5_2","timestamp":1670826446455,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d9a0d2ee9d2e5cea2913b7c5af485beb","name":"ros-humble-pcl-conversions","requires":[],"size":20289,"version":"2.4.0","binstar":{"package_id":"6392b3dd2dd7062055767cad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2be5626afa06ab5e2cb871d86c40a6c925ebd33c6c0731769e790786353cd66d"},"ros-humble-pcl-conversions-2.4.0-py310h9401cb5_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-message-filters","ros-humble-pcl-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h9401cb5_3","timestamp":1675772191617,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f9068166afc2483ba49352728696272","name":"ros-humble-pcl-conversions","requires":[],"size":20544,"version":"2.4.0","binstar":{"package_id":"6392b3dd2dd7062055767cad","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5b216095034bdfa82b69715364a1c0035b72827a40fb4c85e2abcbc1f5610c0"},"ros-humble-tf2-tools-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["graphviz","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-tf2-msgs","ros-humble-tf2-py","ros-humble-tf2-ros-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826560375,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"50b53bbe725368bbcf1be85802e14400","name":"ros-humble-tf2-tools","requires":[],"size":14031,"version":"0.25.1","binstar":{"package_id":"6392b3de4f66fd116f79f579","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d50e4188b43d783af5916d12bdedb96845d321a685daf0a8952ad2739be915d"},"ros-humble-tf2-tools-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["graphviz","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-tf2-msgs","ros-humble-tf2-py","ros-humble-tf2-ros-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772302572,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"db8193c7a0f80f43458115135f00c19f","name":"ros-humble-tf2-tools","requires":[],"size":13888,"version":"0.25.2","binstar":{"package_id":"6392b3de4f66fd116f79f579","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c0f46c9bc08867c31feab771c51d323f5d08030e74f885239a7d43b26b5500b5"},"ros-humble-rqt-console-2.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826206841,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b8b57735923ce6db24c0ce0d778271d8","name":"ros-humble-rqt-console","requires":[],"size":58094,"version":"2.0.2","binstar":{"package_id":"6392b3df66b3e4e3dee1e0f3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7698d62e57456442ee19d6e53c4cc1080c8d0268d9c30f3729c92f968e89c422"},"ros-humble-rqt-console-2.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675842476163,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0259e101ab3ce7860e4a8eb44cd8c7e","name":"ros-humble-rqt-console","requires":[],"size":56291,"version":"2.0.2","binstar":{"package_id":"6392b3df66b3e4e3dee1e0f3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"03520915398c196c11ef6ea7ceed9c5b16518c47881494cd0d8afd1ba9ecb8a4"},"ros-humble-ros2doctor-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["catkin_pkg","importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","psutil","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-environment","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","rosdistro"],"build":"py310h927cc32_2","timestamp":1670825974318,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"91979caaabe9ea3e55aac4411df26be3","name":"ros-humble-ros2doctor","requires":[],"size":35506,"version":"0.18.4","binstar":{"package_id":"6392b3e0a2b712100830c0c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"964e98c2c1ac6ff2686351eadfe85aa1d8de71fdc7a0d7ccd68390e523fd5d1a"},"ros-humble-ros2doctor-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["catkin_pkg","importlib-metadata","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","psutil","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-environment","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","rosdistro"],"build":"py310h927cc32_3","timestamp":1675771816316,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae924bc2527086a5a47c931fa6c150a3","name":"ros-humble-ros2doctor","requires":[],"size":34683,"version":"0.18.5","binstar":{"package_id":"6392b3e0a2b712100830c0c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e946f1a09382774c000b16f72682fc991c9069e4c31f2e4ac386e200d08f8d8"},"ros-humble-ros2action-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826096354,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b1bb473e8a50282b898d46432976137f","name":"ros-humble-ros2action","requires":[],"size":19566,"version":"0.18.4","binstar":{"package_id":"6392b3e246f81babca19f5de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"67c361339fab50ee3dc705c88159abd1302a289a6e6bfae1f4385a1814cd4ec7"},"ros-humble-ros2action-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771933115,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8246dd7107aed9793ed02bbe67a86479","name":"ros-humble-ros2action","requires":[],"size":18977,"version":"0.18.5","binstar":{"package_id":"6392b3e246f81babca19f5de","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb75cbb1cf3a0bb9a98856e6c8151938137fca6cacab75a58d0fff7467c475c4"},"ros-humble-rqt-plot-1.1.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","matplotlib-base","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826194803,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8480b97c2622859939da80a722243211","name":"ros-humble-rqt-plot","requires":[],"size":47785,"version":"1.1.2","binstar":{"package_id":"6392b3f266b3e4e3dee1e33d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f5d7e8a103eb9f6ab9241b303cde20bd6cfc65f9875f5a383de8098c0e227125"},"ros-humble-rqt-plot-1.1.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","matplotlib-base","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841139376,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2236c4b23f3c79fdf77598dfe4cc98ef","name":"ros-humble-rqt-plot","requires":[],"size":47189,"version":"1.1.2","binstar":{"package_id":"6392b3f266b3e4e3dee1e33d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4adb968b950edcd4ce22a6a7b79225afb5c9a986e0b7faa24a157a9bf9cc552b"},"ros-humble-rqt-topic-1.5.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826304151,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7d8a1eea3585aa5e9a345388a48fd7ff","name":"ros-humble-rqt-topic","requires":[],"size":25222,"version":"1.5.0","binstar":{"package_id":"6392b3f3bbbc2b1e964f54ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6e542e2207f6694cc5ba1c8c08972fa1b135b965b89c46e31f4e3b6336d4eaea"},"ros-humble-rqt-topic-1.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841246960,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f4eaacba67be5beece60548a5e5d5447","name":"ros-humble-rqt-topic","requires":[],"size":24836,"version":"1.5.0","binstar":{"package_id":"6392b3f3bbbc2b1e964f54ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6e4b8a5af9901f6647c6922c6e7bead1130c5db92c363c7122270b0169006394"},"ros-humble-camera-calibration-3.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-message-filters","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826695272,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fcaefb4f898618c532c868e46d9e126a","name":"ros-humble-camera-calibration","requires":[],"size":58355,"version":"3.0.0","binstar":{"package_id":"6392b3f5bbbc2b1e964f5512","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a6af80bbc7aa66693b954c6175ae184e2d9cf1b7c74a9dbe1a46f63d4826db35"},"ros-humble-camera-calibration-3.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-message-filters","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772107373,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"56b49391deda2556b19fe3dc3428d949","name":"ros-humble-camera-calibration","requires":[],"size":58002,"version":"3.0.0","binstar":{"package_id":"6392b3f5bbbc2b1e964f5512","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e3285e43748eaba607ba710c5ead78b16141792d33a10e14dd5b39218c26054a"},"ros-humble-teleop-twist-joy-2.4.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-joy","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826513767,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90aa057afa5ca958d61ed759c39d6f61","name":"ros-humble-teleop-twist-joy","requires":[],"size":157797,"version":"2.4.3","binstar":{"package_id":"6392b3f66d07f25db9897bce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cf294da08ec7e5c828f789e5c0590425a9c0d25523468f86cb63b9b0ea89d033"},"ros-humble-teleop-twist-joy-2.4.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-joy","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772525139,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f541fa5453d1cac9a36a07ba77f73631","name":"ros-humble-teleop-twist-joy","requires":[],"size":158214,"version":"2.4.3","binstar":{"package_id":"6392b3f66d07f25db9897bce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d708bcf4b112af6c508115df20910c4a7655a40b3c8124dc5fce11dcd4b02d62"},"ros-humble-control-toolbox-2.1.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826117820,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2864e36c66522ec5d2c294f267366ff2","name":"ros-humble-control-toolbox","requires":[],"size":84366,"version":"2.1.2","binstar":{"package_id":"6392b412959458a07d40213f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"353fce16114cb7991d0283c6bfa76df388f87bfa4a8319e12c27b0d1bd868d4f"},"ros-humble-control-toolbox-2.1.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826159913,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a230eb6cb0d9144048057953a38fa3d9","name":"ros-humble-control-toolbox","requires":[],"size":84574,"version":"2.1.2","binstar":{"package_id":"6392b412959458a07d40213f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b58a850ef22b85d959b97839d1e615389a84c0cd7ccb490a9009f29c70fc142b"},"ros-humble-generate-parameter-library-0.3.0-py310h68909e6_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-generate-parameter-library-py","ros-humble-parameter-traits","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-rsl","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h68909e6_2","timestamp":1670825595760,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4dfd64dacb0b38df1280798af366ebc4","name":"ros-humble-generate-parameter-library","requires":[],"size":14024,"version":"0.3.0","binstar":{"package_id":"6392b413d9a997aae73f77b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"944add676b27eb6feaa491e1dbf72f04a7f9002a26d2b72d5c0a9313cc2cd63f"},"ros-humble-generate-parameter-library-0.3.0-py310h68909e6_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["fmt >=9.1.0,<10.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-generate-parameter-library-py","ros-humble-parameter-traits","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-rsl","ros-humble-tcb-span","ros-humble-tl-expected","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h68909e6_3","timestamp":1675841814703,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0d7f8280b1290d56c2f8115fe1427b2c","name":"ros-humble-generate-parameter-library","requires":[],"size":14304,"version":"0.3.0","binstar":{"package_id":"6392b413d9a997aae73f77b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f19c36897cc3dc934af65cc2c300353165e60795949ad1b17899ba443c7fd494"},"ros-humble-moveit-configs-utils-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-param-builder","ros-humble-launch-ros","ros-humble-ros-workspace","ros-humble-srdfdom","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825977145,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"581d2a368b1c5798f83ae74e742c500c","name":"ros-humble-moveit-configs-utils","requires":[],"size":25927,"version":"2.5.4","binstar":{"package_id":"6392b41466b3e4e3dee1eace","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"35a80e8e56269c0fcba18dceebdcc1abaf5f7f84c888f83fe2cd0b1914fad2f0"},"ros-humble-moveit-configs-utils-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-param-builder","ros-humble-launch-ros","ros-humble-ros-workspace","ros-humble-srdfdom","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675830645366,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"84a6dcb284c479cea7160ac13b5f60c1","name":"ros-humble-moveit-configs-utils","requires":[],"size":25275,"version":"2.5.4","binstar":{"package_id":"6392b41466b3e4e3dee1eace","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"326a25228ca37344be77fc6a6a77d3ce061e11e5c8988e8363273cd352828391"},"ros-humble-ros2interface-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826236323,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6826a9cb21b80725f1894fecaec41fd1","name":"ros-humble-ros2interface","requires":[],"size":19841,"version":"0.18.4","binstar":{"package_id":"6392b41566b3e4e3dee1eaec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4fbb47514e76e46a27d2b76ce52f0012e8c413a36a0a3bf1432862621e06e25e"},"ros-humble-ros2interface-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826801009,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1d3cf77f835aca7222781757f2b2592f","name":"ros-humble-ros2interface","requires":[],"size":19183,"version":"0.18.5","binstar":{"package_id":"6392b41566b3e4e3dee1eaec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2fe186efbfb3b7d8362905ac8e2844a9f2f72bd0af5ff121af80e6e4484ee081"},"ros-humble-image-transport-3.1.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825882576,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e5fba279a2214dd480f368489d51f4e","name":"ros-humble-image-transport","requires":[],"size":518402,"version":"3.1.5","binstar":{"package_id":"6392b4164f66fd116f7a1161","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a64fe0bfac2df7839089546ad5ce3a3c725741c4787eb4257bc52b6b4129134"},"ros-humble-image-transport-3.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841189828,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cc122ac3d0681261284535fc18e87844","name":"ros-humble-image-transport","requires":[],"size":528637,"version":"3.1.5","binstar":{"package_id":"6392b4164f66fd116f7a1161","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"98f0beb15476cbf47ddeb2813750e8511bef451a387408a0f84e61fcc1b57395"},"ros-humble-tf2-ros-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825248524,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3adec25a12adc26ea9258de96c240e42","name":"ros-humble-tf2-ros","requires":[],"size":408584,"version":"0.25.1","binstar":{"package_id":"6392b41a2b3749bdb875bd20","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9e2cb6a83c9d2c2c5ca855d6870ab60eee1b1406385eac8acbe2f8ea8f0df368"},"ros-humble-tf2-ros-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771502199,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0e603ec6c80431f60580cfbe678db1d7","name":"ros-humble-tf2-ros","requires":[],"size":407301,"version":"0.25.2","binstar":{"package_id":"6392b41a2b3749bdb875bd20","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"58007f1e233bce8074eda32eeab61edda967fae43f9ea3c53654345c388c0c61"},"ros-humble-nav2-msgs-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rosidl-default-generators","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825711668,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e3c1c7a296dd1e530a658400400ddcf4","name":"ros-humble-nav2-msgs","requires":[],"size":728842,"version":"1.1.3","binstar":{"package_id":"6392b41c6a03c9fad27b3873","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2d1fad13bbed3b68d8eb8628eee582f237528b014a0881ee4119f698bd78214b"},"ros-humble-nav2-msgs-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rosidl-default-generators","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771987641,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"32d3a9b38131d123c766ed688b3d89eb","name":"ros-humble-nav2-msgs","requires":[],"size":728191,"version":"1.1.5","binstar":{"package_id":"6392b41c6a03c9fad27b3873","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"feb49bc969897ff82bca3a85029f32ba5707f7532ed13c96b51131800c62084c"},"ros-humble-ros2topic-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825377459,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"721a9765cb5d0241853ef6a00391451d","name":"ros-humble-ros2topic","requires":[],"size":40734,"version":"0.18.4","binstar":{"package_id":"6392b41ed9a997aae73f7930","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d45d14e2324a91a1d3d00d2ac7e7d205797131f28da7a19617a3480223673b92"},"ros-humble-ros2topic-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771626362,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"21e00c992736a600eba677995b768d8c","name":"ros-humble-ros2topic","requires":[],"size":40029,"version":"0.18.5","binstar":{"package_id":"6392b41ed9a997aae73f7930","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78aece298b0445194b062c153f1b145773ef1de243f41a91ee3386ae1f878669"},"ros-humble-rosbag2-storage-default-plugins-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros-humble-sqlite3-vendor","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670825853357,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dcd369eb4cc02f1ea548bed136c9aa29","name":"ros-humble-rosbag2-storage-default-plugins","requires":[],"size":81036,"version":"0.15.3","binstar":{"package_id":"6392b41f66b3e4e3dee1ec16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aac3356893f3660fad042a5ce79b9d2df6e178a92ecfcae3e7746e6b370fe6b3"},"ros-humble-rosbag2-storage-default-plugins-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros-humble-sqlite3-vendor","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826330118,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d0e8a0b97531f1f2a2eca545885bcade","name":"ros-humble-rosbag2-storage-default-plugins","requires":[],"size":83397,"version":"0.15.4","binstar":{"package_id":"6392b41f66b3e4e3dee1ec16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ec029cd5c4b952f50f9bad5a2ffed2e35abb0649e5d7bd29df7b897d120df407"},"ros-humble-nav2-voxel-grid-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826011108,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74c9f6a710c3dd1bfd5a3c661bba3063","name":"ros-humble-nav2-voxel-grid","requires":[],"size":25546,"version":"1.1.3","binstar":{"package_id":"6392b42046bec18b89f9edb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"535d63ad5a99b0a08849289dd23715caedaa1e94ea4ce274f79af1cf482d44cf"},"ros-humble-nav2-voxel-grid-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675771519478,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"623b455a8912d77176bc491b8f943328","name":"ros-humble-nav2-voxel-grid","requires":[],"size":25829,"version":"1.1.5","binstar":{"package_id":"6392b42046bec18b89f9edb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9dc06449f72720ed18b0a4293422d5a7bba9d765d377896d5f074617272646dd"},"ros-humble-composition-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670827567197,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9aaea1b7e89fcd362ecd717a08134df6","name":"ros-humble-composition","requires":[],"size":322728,"version":"0.20.2","binstar":{"package_id":"6392b4912dd706205576c081","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e9c3cb723e27066c12e44e1493e2ba8b03f8cc1f4834f2ed11e7e7c86464150d"},"ros-humble-composition-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675773099752,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9969e3074c88df5ccc985f3a176dccd2","name":"ros-humble-composition","requires":[],"size":321430,"version":"0.20.3","binstar":{"package_id":"6392b4912dd706205576c081","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"190472413f4d8ba6e9e7accf8ae7b9fcd18aa656aace77b3e19ee5e50e73d617"},"ros-humble-logging-demo-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826483128,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"553afa61cba90a5a54e4438cd4996bb9","name":"ros-humble-logging-demo","requires":[],"size":138321,"version":"0.20.2","binstar":{"package_id":"6392b4ab2b3749bdb875dff8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b67823640a3116f9d9009d019265c9e04c7fd358e35c9c1153ea9438f0971fc1"},"ros-humble-logging-demo-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772510534,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a0230ad4b23367e960a7f3a774007ce0","name":"ros-humble-logging-demo","requires":[],"size":138786,"version":"0.20.3","binstar":{"package_id":"6392b4ab2b3749bdb875dff8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"71f8c914c5a85750429405c49850d4bcf094ffbd7f949fa7f8af7e07bf27332e"},"ros-humble-image-tools-0.20.2-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670826735379,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"02f6d2298f90c46d191a415532830742","name":"ros-humble-image-tools","requires":[],"size":241393,"version":"0.20.2","binstar":{"package_id":"6392b4ad4f66fd116f7a4c14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"534a7e8216ec181cbb7732517e0605b1001809a5f32a1c8abb46f29629d36b0d"},"ros-humble-image-tools-0.20.3-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675772779086,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8acbd8ec00108ce2af67fdf64d032201","name":"ros-humble-image-tools","requires":[],"size":235313,"version":"0.20.3","binstar":{"package_id":"6392b4ad4f66fd116f7a4c14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"987b3b67d7f349724a309bd2ce2b44ed72f79ed024370a40e60c26dec7a94a48"},"ros-humble-demo-nodes-cpp-native-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rmw-fastrtps-cpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826925967,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b4885df0b12876e257d35a64bbfcb060","name":"ros-humble-demo-nodes-cpp-native","requires":[],"size":83984,"version":"0.20.2","binstar":{"package_id":"6392b4ae6a03c9fad27b6ea2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"73efaf94cc46fb45f801c467d7048bc76fa2c8dc44b7486dfe8c3bcaf2d20f88"},"ros-humble-demo-nodes-cpp-native-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rmw-fastrtps-cpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772960137,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1ffdb9668993329f6452120fca1388a5","name":"ros-humble-demo-nodes-cpp-native","requires":[],"size":84156,"version":"0.20.3","binstar":{"package_id":"6392b4ae6a03c9fad27b6ea2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48b2cce9ee71ac84a8df747cafd0a561f676be5d928a6fd98b5b5bdd5cd85ba3"},"ros-humble-demo-nodes-cpp-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-launch-xml","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670827354980,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"492592eaf5643961e8de04e78cd2b9f0","name":"ros-humble-demo-nodes-cpp","requires":[],"size":867120,"version":"0.20.2","binstar":{"package_id":"6392b4b82b3749bdb875e255","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"12c2495f69c2fce09092b47f56108eb55b386268c5b9d577f754e3a4ceff00b1"},"ros-humble-demo-nodes-cpp-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-example-interfaces","ros-humble-launch-ros","ros-humble-launch-xml","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772899153,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"414649263d7f1d5719a5aab49ce99023","name":"ros-humble-demo-nodes-cpp","requires":[],"size":864324,"version":"0.20.3","binstar":{"package_id":"6392b4b82b3749bdb875e255","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d40408804c24bed784e166e952e7b8f452d6d8a538f0bb1ff53232197b464862"},"ros-humble-rosbridge-library-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pillow","pymongo","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670823501031,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ebd218cf9274b927638cf5cbfe04fe7c","name":"ros-humble-rosbridge-library","requires":[],"size":73607,"version":"1.3.1","binstar":{"package_id":"6392b64154e9ace854d98dc4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"52b920e7bcce1ec012d965a689b7479a2cdeca3661966b11aa22f5fa53d75143"},"ros-humble-rosbridge-library-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pillow","pymongo","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675756470668,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f4baeb29e420c28271a8ed747b4b52e0","name":"ros-humble-rosbridge-library","requires":[],"size":73933,"version":"1.3.1","binstar":{"package_id":"6392b64154e9ace854d98dc4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"87f1a47ad567870a52c526e11a18e205524c7524a48108017a352459e6a2b2e2"},"ros-humble-ros2run-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2pkg","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828853436,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"310329ed3642239592434e264c93bfbd","name":"ros-humble-ros2run","requires":[],"size":13992,"version":"0.18.4","binstar":{"package_id":"6392cf6f358aafdd3d9e0142","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fbcedc7abae47e5de8502730b4a710c39a3f2bc690c02ed044cf889ba73e4917"},"ros-humble-ros2run-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2pkg","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826173888,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74ffba646eacb27c4b41e53f6074b56b","name":"ros-humble-ros2run","requires":[],"size":13636,"version":"0.18.5","binstar":{"package_id":"6392cf6f358aafdd3d9e0142","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"499423f9d61cd6f0cee4dbe72da8caa68c704124a5788adc5dac85ca1aea5a99"},"ros-humble-tf2-eigen-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828448370,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"380abc1c84f95918fec9c8f4ccb1083d","name":"ros-humble-tf2-eigen","requires":[],"size":18843,"version":"0.25.1","binstar":{"package_id":"6392cf704f66fd116f8a49f0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ce9ba39450c29186685a3f0727ead8418b4ca30af7d5f42f90d316445bfd460"},"ros-humble-tf2-eigen-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675825892343,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f2b648f2319f50b0b7808e427a10b89c","name":"ros-humble-tf2-eigen","requires":[],"size":19098,"version":"0.25.2","binstar":{"package_id":"6392cf704f66fd116f8a49f0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5204b398d4fbadc6f085b3adbe1708f3787f83c567a2ee06935aa98e7e41a20"},"ros-humble-robot-state-publisher-3.0.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-kdl-parser","ros-humble-orocos-kdl-vendor","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828359762,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9b37d7f68ef89cb5f9c60340b50c5628","name":"ros-humble-robot-state-publisher","requires":[],"size":220619,"version":"3.0.2","binstar":{"package_id":"6392cf712b3749bdb87d1e90","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f924e99c8063668166049a1dd1f8d078b6b8b62f8264cc02f64b1ac5d7beac6c"},"ros-humble-robot-state-publisher-3.0.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-kdl-parser","ros-humble-orocos-kdl-vendor","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826190151,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c70b0206f3574bbb45ee76254fd6f805","name":"ros-humble-robot-state-publisher","requires":[],"size":223055,"version":"3.0.2","binstar":{"package_id":"6392cf712b3749bdb87d1e90","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7edaedd5dc4091a61f6906dbda1eca5f5d1523c103a7a1f47769ceb6bea250ec"},"ros-humble-rosbag2-cpp-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros-humble-rosbag2-storage-default-plugins","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-shared-queues-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828702525,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b15b173c8a090aa8cbb1f634464c8508","name":"ros-humble-rosbag2-cpp","requires":[],"size":205810,"version":"0.15.3","binstar":{"package_id":"6392cf7246f81babca262506","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"493cc8f1d61b4fe1d88228656f2c62267cd2440902766d6d9023cba6b6d2029e"},"ros-humble-rosbag2-cpp-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-rmw","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros-humble-rosbag2-storage-default-plugins","ros-humble-rosidl-runtime-c","ros-humble-rosidl-runtime-cpp","ros-humble-rosidl-typesupport-cpp","ros-humble-rosidl-typesupport-introspection-cpp","ros-humble-shared-queues-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831691220,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ccebde919e61a6eb207b8065b03e7782","name":"ros-humble-rosbag2-cpp","requires":[],"size":206123,"version":"0.15.4","binstar":{"package_id":"6392cf7246f81babca262506","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ddb16611e800051eff3b4d2e488913783da3939665548f1b7e85009321f8acb3"},"ros-humble-tf2-kdl-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828622333,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2f47ebb6206fcc8276f0d60005749c6d","name":"ros-humble-tf2-kdl","requires":[],"size":20349,"version":"0.25.1","binstar":{"package_id":"6392cf7246f81babca26250f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74ce0d00e6c6d9d76828448e81123ecdf352692d37b7e9c749adf4f5b93ae6c3"},"ros-humble-tf2-kdl-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675825709046,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99e6c996cdba20b54bee735e392d811b","name":"ros-humble-tf2-kdl","requires":[],"size":20687,"version":"0.25.2","binstar":{"package_id":"6392cf7246f81babca26250f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7c94561143a417703db4e16f57d9b802e0e6bf2e4e5f97a2b1cd4d420d76ae8b"},"ros-humble-tf2-geometry-msgs-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828072097,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8e1b18762156e168e93390e2d1c61af3","name":"ros-humble-tf2-geometry-msgs","requires":[],"size":26957,"version":"0.25.1","binstar":{"package_id":"6392cf736e0eca100b4ebe5b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a1453d8970c5ef35260327e5295d30bede85897cd8669fbac72702763123933"},"ros-humble-tf2-geometry-msgs-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-orocos-kdl-vendor","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675825861712,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5952f8a4ea0500f783b7fb321a5c31eb","name":"ros-humble-tf2-geometry-msgs","requires":[],"size":27243,"version":"0.25.2","binstar":{"package_id":"6392cf736e0eca100b4ebe5b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6c7b6a6c3353e2257e74a818c929cffb323fbe7459c222a8d5d5c889142c63dc"},"ros-humble-ros-testing-0.4.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-testing","ros-humble-launch-testing-ament-cmake","ros-humble-launch-testing-ros","ros-humble-ros-workspace","ros-humble-ros2test","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829143828,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b934f088047d32d358cef56d264a697d","name":"ros-humble-ros-testing","requires":[],"size":13232,"version":"0.4.0","binstar":{"package_id":"6392cf73a2b71210083e95c3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9e41f42d3e35c81caf64f10fc9b9f1636d72951c7dd8e94c8bb18bb3abded501"},"ros-humble-ros-testing-0.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-testing","ros-humble-launch-testing-ament-cmake","ros-humble-launch-testing-ros","ros-humble-ros-workspace","ros-humble-ros2test","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841674466,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"938b3d1b0ffd8c3813accbfd15135ff1","name":"ros-humble-ros-testing","requires":[],"size":13486,"version":"0.4.0","binstar":{"package_id":"6392cf73a2b71210083e95c3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d24337b5ae16afca7e63d666dfdef7f9c63115096000b1ae84ba98a7226678af"},"ros-humble-tf2-sensor-msgs-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828493686,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"48a30a4aba54f1a0eb5e06ce2ad9cf14","name":"ros-humble-tf2-sensor-msgs","requires":[],"size":15612,"version":"0.25.1","binstar":{"package_id":"6392cf73a2b71210083e95cb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"77cf723757d27a79143a8b84904f324ae51515f37b3c9f90d2f19b3a65bbc803"},"ros-humble-tf2-sensor-msgs-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-tf2-ros-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826447771,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3abcd8ff72a33c3e048df4dd057edb2b","name":"ros-humble-tf2-sensor-msgs","requires":[],"size":15862,"version":"0.25.2","binstar":{"package_id":"6392cf73a2b71210083e95cb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9c36984a76d8136ef02d73af7535436dc1a1859d390033b3c9a80d2e37be6b54"},"ros-humble-joint-state-publisher-2.3.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828168505,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9b5d0fe47f6166fbeaf8c86825aab317","name":"ros-humble-joint-state-publisher","requires":[],"size":19840,"version":"2.3.0","binstar":{"package_id":"6392cf742b3749bdb87d2464","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"38ebb80205e43b193abb01d52cb84b21bdbbfc025d0b10e26807c35c6723ae7d"},"ros-humble-joint-state-publisher-2.3.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675825960592,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6d6e44ed656b7e0cff73bed61a5245f7","name":"ros-humble-joint-state-publisher","requires":[],"size":19413,"version":"2.3.0","binstar":{"package_id":"6392cf742b3749bdb87d2464","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7b5128396ab04b69a0697299d67b2fedba3d7ed4b92bb4198aa214d5d6faa103"},"ros-humble-ros2param-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2service","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829007796,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f4c47e67a3b00cd5cd58e99edc00fd8","name":"ros-humble-ros2param","requires":[],"size":26505,"version":"0.18.4","binstar":{"package_id":"6392cf746a03c9fad286ff6b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b7301fddf43d1f5c925fc0882fb3df70ddecbcd38d3c9d2d90c7db985d99c5c2"},"ros-humble-ros2param-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2service","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826312286,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"040d0bbcfdfc0ea10adc77d3677a3482","name":"ros-humble-ros2param","requires":[],"size":25666,"version":"0.18.5","binstar":{"package_id":"6392cf746a03c9fad286ff6b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8b711c7730355eff0fca7b15b6ed1827d5f39336ae159ab38404a29fed527311"},"ros-humble-nav2-simple-commander-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav2-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828211599,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"34eb2507048717bb3ebf29a26ae044f8","name":"ros-humble-nav2-simple-commander","requires":[],"size":43876,"version":"1.1.3","binstar":{"package_id":"6392cfe32dd70620557f9e54","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6703f90a9a469506116c7d488dff4ec36e7ef8d557665033d742d556207149c5"},"ros-humble-nav2-simple-commander-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav2-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826436373,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74fb73836e2e7e3743d40003321e46b0","name":"ros-humble-nav2-simple-commander","requires":[],"size":42478,"version":"1.1.5","binstar":{"package_id":"6392cfe32dd70620557f9e54","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d40467664488932bca810638d1a62b43d6a8b3c5bc9ba3642491c7bd21bdff4"},"ros-humble-theora-image-transport-2.5.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libogg >=1.3.4,<1.4.0a0","libopencv >=4.6.0,<4.6.1.0a0","libtheora >=1.1.1,<1.2.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670828755503,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"356476b95ee43b6df3e36d52a82a1dc9","name":"ros-humble-theora-image-transport","requires":[],"size":305140,"version":"2.5.0","binstar":{"package_id":"6392cfe5a2b71210083ef9ac","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0622c21ecebf1c5d41898bca7f38d60c0ae757e4f4e0cb6178cd11ffe096e9ba"},"ros-humble-theora-image-transport-2.5.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libogg >=1.3.4,<1.4.0a0","libopencv >=4.6.0,<4.6.1.0a0","libtheora >=1.1.1,<1.2.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675843795005,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0a4c15ead6ad0bb0b01a6ee01c8279d8","name":"ros-humble-theora-image-transport","requires":[],"size":312371,"version":"2.5.0","binstar":{"package_id":"6392cfe5a2b71210083ef9ac","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"76433633ab2c6e59d866d33a14cf60502c13387404214c2b682f76303c0abed0"},"ros-humble-ros2launch-0.19.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2pkg","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828453821,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"365edfc7e5175d7c4024ff504096976e","name":"ros-humble-ros2launch","requires":[],"size":20409,"version":"0.19.3","binstar":{"package_id":"6392cfe666b3e4e3def0302b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4860ce47ff9b66588d47683c49a6d41b66c581e73745e700ff4963ebd6add2c"},"ros-humble-ros2launch-0.19.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2pkg","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826680757,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae74caa016318887aaf3c0c8656ef512","name":"ros-humble-ros2launch","requires":[],"size":19908,"version":"0.19.4","binstar":{"package_id":"6392cfe666b3e4e3def0302b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"871c6db3db6686e71dfe2230dea09f1083b75cb9a9300bd9617a34633169af0e"},"ros-humble-ros2lifecycle-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2service","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828335743,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ba10aa542bb3989333d776c92697a181","name":"ros-humble-ros2lifecycle","requires":[],"size":19320,"version":"0.18.4","binstar":{"package_id":"6392cfe8358aafdd3d9e1840","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cca80f391e395fcfbd9498bc2cb2939cf3ec210fe4f2664689477ff92f3456c9"},"ros-humble-ros2lifecycle-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2service","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826783587,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c33a5c77ada83fb30954323c2558d8a8","name":"ros-humble-ros2lifecycle","requires":[],"size":18724,"version":"0.18.5","binstar":{"package_id":"6392cfe8358aafdd3d9e1840","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3884521043e292b8b716b615d31b52012f886f92f4ff96d5676f27998e25635d"},"ros-humble-compressed-image-transport-2.5.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829022509,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ac491a6185b656a87a69f6a4f4474d21","name":"ros-humble-compressed-image-transport","requires":[],"size":165229,"version":"2.5.0","binstar":{"package_id":"6392cfea9e77a4aa6b7152fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8f40206837f3c5719d242e9f99cb92d01df68cc67c2cda318b0039c5dd5cf5c"},"ros-humble-compressed-image-transport-2.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844052309,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39a059da3b25849d7ee57818dd1d3d3d","name":"ros-humble-compressed-image-transport","requires":[],"size":164608,"version":"2.5.0","binstar":{"package_id":"6392cfea9e77a4aa6b7152fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"158526cfa314220638b8584b3f3483034f4e983a16863ed30bb5b319f1db9a77"},"ros-humble-rqt-reconfigure-1.1.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-console","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829496845,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5362200aac5a6144146404430e7573fe","name":"ros-humble-rqt-reconfigure","requires":[],"size":53025,"version":"1.1.1","binstar":{"package_id":"6392d02e46bec18b89018b6a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dcaf8ad4ab3c03d0c0b965227b6fbfdc7d65fd012fdc067f1b1311a26c10c8db"},"ros-humble-rqt-reconfigure-1.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","pyyaml","ros-humble-ament-index-python","ros-humble-python-qt-binding","ros-humble-qt-gui-py-common","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-console","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844286317,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6e6165a0a1784a1de111fa81c6da810a","name":"ros-humble-rqt-reconfigure","requires":[],"size":51455,"version":"1.1.1","binstar":{"package_id":"6392d02e46bec18b89018b6a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9b54b07a0dab0b902b4459c8d5d1e82cc027b92e367fcc89f8d4f68542ad0335"},"ros-humble-image-publisher-3.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-info-manager","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829400295,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6dec26fe5113633521f75f08259aece","name":"ros-humble-image-publisher","requires":[],"size":108646,"version":"3.0.0","binstar":{"package_id":"6392d02f4f66fd116f8a95d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4538e0e53b153ed0e715a36985bf89242f1c0f595f040d71a9a78fd9553db13a"},"ros-humble-image-publisher-3.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-info-manager","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843731968,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c70740bedd8bd2a359ef91f45dc7cc3e","name":"ros-humble-image-publisher","requires":[],"size":109127,"version":"3.0.0","binstar":{"package_id":"6392d02f4f66fd116f8a95d6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"55081addc6b28d563b96360fdd7533b3dddd61ec168b6285618a4cf22157e1d3"},"ros-humble-turtlebot3-node-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-dynamixel-sdk","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-ros","ros-humble-turtlebot3-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333098402,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ea0af4128eaee52feca567ebd7f52d9e","name":"ros-humble-turtlebot3-node","requires":[],"size":19080,"version":"2.1.5","binstar":{"package_id":"6392d03166b3e4e3def05409","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8e1f53dd3555690d5efd4cc57375cdf590a14a9194c0fa94774bda3e9b0cf0ca"},"ros-humble-ros-gz-image-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-msgs8 >=8.7.0,<9.0a0","libignition-transport11 >=11.3.2,<12.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-transport","ros-humble-rclcpp","ros-humble-ros-gz-bridge","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828881971,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"32d286773966629393389256c6a126ea","name":"ros-humble-ros-gz-image","requires":[],"size":51029,"version":"0.244.9","binstar":{"package_id":"6392d032358aafdd3d9e34ba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"97d7404935949d0a66c9c96bb0a4e8fb2d9e96e42e647b5ec208f837f53c5853"},"ros-humble-ros-gz-image-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-msgs8 >=8.7.0,<9.0a0","libignition-transport11 >=11.3.2,<12.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-transport","ros-humble-rclcpp","ros-humble-ros-gz-bridge","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844538536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"82dd02698c83456add028b61ca9d34b3","name":"ros-humble-ros-gz-image","requires":[],"size":51300,"version":"0.244.9","binstar":{"package_id":"6392d032358aafdd3d9e34ba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"804671f65022f6ab3b48b9ae495b345798cb423f468f3529c832a4858c90247a"},"ros-humble-image-view-3.0.0-py310hec30da9_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration-parsers","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros-humble-stereo-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hec30da9_2","timestamp":1670829204877,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6fd9f2466c659552843b2962cf145875","name":"ros-humble-image-view","requires":[],"size":298007,"version":"3.0.0","binstar":{"package_id":"6392d03466b3e4e3def05513","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3924ccb8453f096fe0b0f0d3c81e03dcf0283096b046a063939a086de5b60ab9"},"ros-humble-image-view-3.0.0-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration-parsers","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros-humble-stereo-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hec30da9_3","timestamp":1675843230497,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6ec9b1717cefb38196ccd8a9cd70676","name":"ros-humble-image-view","requires":[],"size":299868,"version":"3.0.0","binstar":{"package_id":"6392d03466b3e4e3def05513","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fd8efaf2e5cc224a00ba20dbe026c999cbf82f1a7c037273169a95225ca280b3"},"ros-humble-rqt-image-view-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-cv-bridge","ros-humble-geometry-msgs","ros-humble-image-transport","ros-humble-qt-gui-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-cpp","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670830192560,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aa98b3e0061354d68b4bd7495db02998","name":"ros-humble-rqt-image-view","requires":[],"size":208635,"version":"1.2.0","binstar":{"package_id":"6392d0ac4f66fd116f8ab97f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"944aa7e4834955ec2200217844b565b5a91a74b1cec46ea0a052e3e53be773e3"},"ros-humble-rqt-image-view-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-cv-bridge","ros-humble-geometry-msgs","ros-humble-image-transport","ros-humble-qt-gui-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-cpp","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675844302027,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"af1bf7f52b667502ff84c63ebbf8c738","name":"ros-humble-rqt-image-view","requires":[],"size":208982,"version":"1.2.0","binstar":{"package_id":"6392d0ac4f66fd116f8ab97f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"76be53ff8d416714f60eb47eaf5c8b10f0e9f2ad1a4ba5d54d2b4801ed727d52"},"ros-humble-compressed-depth-image-transport-2.5.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829237314,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d207cab4d226108af7e96373fed65314","name":"ros-humble-compressed-depth-image-transport","requires":[],"size":149696,"version":"2.5.0","binstar":{"package_id":"6392d0ae2b3749bdb87dab11","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b416172c5884c4d3fb359b29a90050af382a288647f96e008508147b2c701ae4"},"ros-humble-compressed-depth-image-transport-2.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843565808,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c1f4e1932762111b4f995a4a399a8a6","name":"ros-humble-compressed-depth-image-transport","requires":[],"size":150174,"version":"2.5.0","binstar":{"package_id":"6392d0ae2b3749bdb87dab11","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6342554ff294b1d6f716616d7b020f88a073a3bec4222962b9a766355ccf91f2"},"ros-humble-image-proc-3.0.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-transport","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tracetools-image-pipeline","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670829729136,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0102eb18d689c19f88166d1f1a25f6b7","name":"ros-humble-image-proc","requires":[],"size":92603,"version":"3.0.0","binstar":{"package_id":"6392d0b154e9ace854df932d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"234edcdf32951288501090b264ee691f30188c952358395a74d37a07191c2f2b"},"ros-humble-image-proc-3.0.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-transport","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tracetools-image-pipeline","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675843859279,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ddc03c1fe66e38aec42ec2c928271036","name":"ros-humble-image-proc","requires":[],"size":93084,"version":"3.0.0","binstar":{"package_id":"6392d0b154e9ace854df932d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b1323be3167858d27df35b9d874b95c3ab9d32ff19e1f5adc3c3e0038d70d2eb"},"ros-humble-tf2-bullet-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["bullet","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829417030,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1c0d73c1370be9d1977f8fe062fd58dd","name":"ros-humble-tf2-bullet","requires":[],"size":16278,"version":"0.25.1","binstar":{"package_id":"6392d0b22b3749bdb87dab51","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"220ddf4a0737854a02d2428ba26db32e6ec16b01c76d077c1211320e4cda2861"},"ros-humble-tf2-bullet-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["bullet","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675826969824,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bce918f6874ee54839fb693635445545","name":"ros-humble-tf2-bullet","requires":[],"size":16547,"version":"0.25.2","binstar":{"package_id":"6392d0b22b3749bdb87dab51","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"124b75a7b71c5df81c87144878c8851d6c9f95c5ccfd8d767dd27d0b7fa138ac"},"ros-humble-rqt-msg-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-console","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829852037,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a7c259cdbbe937ba9b1e8621cf32ba4d","name":"ros-humble-rqt-msg","requires":[],"size":20309,"version":"1.2.0","binstar":{"package_id":"6392d0b5a2b71210083fac8b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"654d07ed34e8e0eea5fcd62262f22ce68fbd59aa0d0b56b7e065de4735c73455"},"ros-humble-rqt-msg-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-console","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843969771,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"993360c425201fb211b7286b4b56bdb0","name":"ros-humble-rqt-msg","requires":[],"size":19859,"version":"1.2.0","binstar":{"package_id":"6392d0b5a2b71210083fac8b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b38def065f81421640ce0bbfef78030e435b94579e9c58a3690cded31ab9eb7"},"ros-humble-ros-ign-bridge-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-bridge","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670826917044,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2fca42d85c15277ca2bacff92016d1e6","name":"ros-humble-ros-ign-bridge","requires":[],"size":22349,"version":"0.244.9","binstar":{"package_id":"6392d267ead2dcc8c207b6da","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bf8fdd5fb23177e46be0d56b1aa4b97811ea3cfeb060503fd1c4b2b45c508b1e"},"ros-humble-ros-ign-bridge-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-bridge","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675772301584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a89810bbe737743e6ad333daacb6ead9","name":"ros-humble-ros-ign-bridge","requires":[],"size":22661,"version":"0.244.9","binstar":{"package_id":"6392d267ead2dcc8c207b6da","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d959fa074f7a8f91f852331658655014d59a424790c81253af836b799a1cf147"},"ros-humble-warehouse-ros-2.0.4-py310h37194c7_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","openssl >=1.1.1s,<1.1.2a","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h37194c7_2","timestamp":1670831290771,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"031312a358ce30fdf9cd27f7757435d2","name":"ros-humble-warehouse-ros","requires":[],"size":128422,"version":"2.0.4","binstar":{"package_id":"6392d3dde6a2f79ab84eb69a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e426d2025bc2620beafdb9229c7f6ac7c8b98c6082c612f0c84122430129e09"},"ros-humble-warehouse-ros-2.0.4-py310hc745ddc_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hc745ddc_3","timestamp":1675859912677,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"035c05d24e6612f3eb20e4d347f4e4cd","name":"ros-humble-warehouse-ros","requires":[],"size":128861,"version":"2.0.4","binstar":{"package_id":"6392d3dde6a2f79ab84eb69a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"50c618f5145ee989045e09925c853adbff16651d809cf5b1e0d125d2ed50f873"},"ros-humble-ros2component-0.18.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-composition-interfaces","ros-humble-rcl-interfaces","ros-humble-rclcpp-components","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831534579,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bcb7dc5fbd1cdf3c14b33ce7dceedb9c","name":"ros-humble-ros2component","requires":[],"size":24066,"version":"0.18.4","binstar":{"package_id":"6392d3de4f66fd116f8c9768","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4309be08b47365419f602d42ed347cead7721a76ac28659f2af356a490c03dc"},"ros-humble-ros2component-0.18.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-composition-interfaces","ros-humble-rcl-interfaces","ros-humble-rclcpp-components","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831159365,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7b23573e5b6922f15d423aa54b2e8fe5","name":"ros-humble-ros2component","requires":[],"size":23371,"version":"0.18.5","binstar":{"package_id":"6392d3de4f66fd116f8c9768","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"115b2d7c40af060611f72715e6e8995e5eb7579e3eb45e8ba26c62ddf902bdb7"},"ros-humble-interactive-markers-2.3.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670830998198,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d25d7ee746575ec95ab9c7a5c461234d","name":"ros-humble-interactive-markers","requires":[],"size":252004,"version":"2.3.2","binstar":{"package_id":"6392d3e0114c465c98ce4cac","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a9def862e1f9e909d58bc0797477370da7efdc2b2b63add6b41482b5ad1aec86"},"ros-humble-interactive-markers-2.3.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675842632920,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f60fe659187a8e78a6fc3a7816621bb4","name":"ros-humble-interactive-markers","requires":[],"size":254545,"version":"2.3.2","binstar":{"package_id":"6392d3e0114c465c98ce4cac","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fedca944ed35af42a7dc083b735cecf638b42077019a1f96ddeba04ac84ce717"},"ros-humble-moveit-resources-fanuc-moveit-config-2.0.6-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-moveit-resources-fanuc-description","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831083078,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"beabbe6a3c390c75e8d3d676f21391f7","name":"ros-humble-moveit-resources-fanuc-moveit-config","requires":[],"size":22686,"version":"2.0.6","binstar":{"package_id":"6392d3e24f66fd116f8c983f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e77b9f55cee83d306146198478b3204bfbc8af71f939f6eb2c576ea4864705fa"},"ros-humble-moveit-resources-fanuc-moveit-config-2.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-moveit-resources-fanuc-description","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675830541972,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6216f1662674096af6385a4dfb370cc0","name":"ros-humble-moveit-resources-fanuc-moveit-config","requires":[],"size":22961,"version":"2.0.6","binstar":{"package_id":"6392d3e24f66fd116f8c983f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"035d54fe3bbbc1167092f141d702658430e8990dbb920154f60dcc01b2b5ca64"},"ros-humble-sros2-0.10.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cryptography","importlib_resources","libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831432034,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3012666b96eade4258f3166e06b5c66e","name":"ros-humble-sros2","requires":[],"size":42060,"version":"0.10.4","binstar":{"package_id":"6392d3e39e77a4aa6b717268","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"62968f7885fab55ddf8d15d48dd918422d7162e0b411ebf60709d7978061a521"},"ros-humble-sros2-0.10.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["cryptography","importlib_resources","libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843460147,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fefe9aac3fd241a170d865673706edb5","name":"ros-humble-sros2","requires":[],"size":40197,"version":"0.10.4","binstar":{"package_id":"6392d3e39e77a4aa6b717268","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ca30fde12ee46e608f4be311bd9a36264e0e8bd4eec44fc0640cb94ca0b5176"},"ros-humble-rqt-srv-1.0.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-msg","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832106000,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a425de1d4d49603c9335f844041f41b6","name":"ros-humble-rqt-srv","requires":[],"size":12451,"version":"1.0.3","binstar":{"package_id":"6392d46646bec18b89032a69","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"60b0ee479905f2c0acba09bed66f48b72b0a44e89e3b9a1775b54d6caf6af7d7"},"ros-humble-rqt-srv-1.0.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-msg","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847833135,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5c8b1bd5dabfbcef19ce5d341359f655","name":"ros-humble-rqt-srv","requires":[],"size":12227,"version":"1.0.3","binstar":{"package_id":"6392d46646bec18b89032a69","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4317ad6a7426029d34fbdb323affec3f86bef8594ff6b2e5058cae6ed911d812"},"ros-humble-rqt-action-2.0.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-msg","ros-humble-rqt-py-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832188598,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"320983b990db5909fd408b512266eaec","name":"ros-humble-rqt-action","requires":[],"size":12474,"version":"2.0.1","binstar":{"package_id":"6392d4686a03c9fad2899056","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5a59d9fb44b79c2b2dd81e647acc4bd24ee803eb46a9f96bf0bb13bb249c29ea"},"ros-humble-rqt-action-2.0.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-msg","ros-humble-rqt-py-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847173276,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"deb93fc09f740ffb31390ae340e6535b","name":"ros-humble-rqt-action","requires":[],"size":12245,"version":"2.0.1","binstar":{"package_id":"6392d4686a03c9fad2899056","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f17cde0faa0eadda1d8dfc0ad941347d53a11e5937dd040dd308f97c7725a04"},"ros-humble-rosbag2-storage-mcap-0.6.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-mcap-vendor","ros-humble-pluginlib","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832159458,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"288dab896476531072f32a1a844229a3","name":"ros-humble-rosbag2-storage-mcap","requires":[],"size":103566,"version":"0.6.0","binstar":{"package_id":"6392d469a2b71210084340aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4fdfd152acaf300ff78f6fb08bdbb32f8e822ee347783eaa01ac2b9f3955b9df"},"ros-humble-rosbag2-storage-mcap-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-mcap-vendor","ros-humble-pluginlib","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-storage","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675827137957,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1c65b3876c70897fb336145210410a94","name":"ros-humble-rosbag2-storage-mcap","requires":[],"size":104381,"version":"0.15.4","binstar":{"package_id":"6392d469a2b71210084340aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"35133c38d25d7171cfc739fa8c86ef1b6bc2b05ac5525a95e2cd441f79889e63"},"ros-humble-depth-image-proc-3.0.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-stereo-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670831997873,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"879ee1c68957dd2cc68e2c18f4b1ff41","name":"ros-humble-depth-image-proc","requires":[],"size":303750,"version":"3.0.0","binstar":{"package_id":"6392d475bbbc2b1e965e53ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"49aca29bcd83b48168edf6c5b784b8614438eb5eb816710c941640335485ec1d"},"ros-humble-depth-image-proc-3.0.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-stereo-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675844129336,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7bfa5c3309d72ceccb58a63c299324bf","name":"ros-humble-depth-image-proc","requires":[],"size":305037,"version":"3.0.0","binstar":{"package_id":"6392d475bbbc2b1e965e53ce","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"facaec98181629d3393c1f7092aaa63124d50142da6a086eda1a983ebb369d8e"},"ros-humble-image-rotate-3.0.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-geometry-msgs","ros-humble-image-transport","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_2","timestamp":1670831589700,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"86fb7671feb3104d1aff189cb99dd078","name":"ros-humble-image-rotate","requires":[],"size":83163,"version":"3.0.0","binstar":{"package_id":"6392d4769e77a4aa6b719acd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4f001df2c3d3fdc48695d6d12715ce64fcabd466defdacc353513121dc38d1b2"},"ros-humble-image-rotate-3.0.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-geometry-msgs","ros-humble-image-transport","ros-humble-rcl-interfaces","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310hdd2ad31_3","timestamp":1675843488172,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"988e5e0814b10c467a7ad3ae31691900","name":"ros-humble-image-rotate","requires":[],"size":83385,"version":"3.0.0","binstar":{"package_id":"6392d4769e77a4aa6b719acd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ebecdec9afd7b68d7107cbd86ad072978a29fd7f40b83a092dfb3dbd611baea"},"ros-humble-stereo-image-proc-3.0.0-py310hdd2ad31_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-proc","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-stereo-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hdd2ad31_2","timestamp":1670831421054,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d93100dc229132855fcf7dc98e7ebdab","name":"ros-humble-stereo-image-proc","requires":[],"size":320552,"version":"3.0.0","binstar":{"package_id":"6392d478a2b712100843435e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fc2d1a509ed12831985a8014c90470b36c6cf4869e4498abd31b1cf12bbdf6aa"},"ros-humble-stereo-image-proc-3.0.0-py310hdd2ad31_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.21.6,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-geometry","ros-humble-image-proc","ros-humble-image-transport","ros-humble-message-filters","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-stereo-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hdd2ad31_3","timestamp":1675847721524,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"645a1728faea484d8770df21fd8c8561","name":"ros-humble-stereo-image-proc","requires":[],"size":321513,"version":"3.0.0","binstar":{"package_id":"6392d478a2b712100843435e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"af2a26ecc54b1f8b39bf92675fa15df463df67da54fb837a4e421ce7f4cae3f3"},"ros-humble-dummy-robot-bringup-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-dummy-map-server","ros-humble-dummy-sensors","ros-humble-launch","ros-humble-launch-ros","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832037512,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"85b492c1bcd6144b080bc4463d2e14a6","name":"ros-humble-dummy-robot-bringup","requires":[],"size":15754,"version":"0.20.2","binstar":{"package_id":"6392d48ca2b7121008434a42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5fca333ee9f10bc9bc1939a51edc7f2bd7a80536a612827b41231154348fe179"},"ros-humble-dummy-robot-bringup-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-python","ros-humble-dummy-map-server","ros-humble-dummy-sensors","ros-humble-launch","ros-humble-launch-ros","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675832252036,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb4981b67569454fc2ee184bf87bfe16","name":"ros-humble-dummy-robot-bringup","requires":[],"size":16032,"version":"0.20.3","binstar":{"package_id":"6392d48ca2b7121008434a42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dacef08f587869796672ac50bae79b54e69c9f98ad919084551e7aa3a13f7979"},"ros-humble-image-common-3.1.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration-parsers","ros-humble-camera-info-manager","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670828980154,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"452186f9193eb333e28c3828a73cdcea","name":"ros-humble-image-common","requires":[],"size":11818,"version":"3.1.5","binstar":{"package_id":"6392d48ea2b7121008434aa6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7fba5ce657c7d2402ef90c54f3c4338d4b654f1a95382d22fa63fe60233df431"},"ros-humble-image-common-3.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration-parsers","ros-humble-camera-info-manager","ros-humble-image-transport","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844435608,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ba7282339cc5954ff8956d6fb51abaa5","name":"ros-humble-image-common","requires":[],"size":12066,"version":"3.1.5","binstar":{"package_id":"6392d48ea2b7121008434aa6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"abc8658c0b158aa34b37ff7ee91bac114518eb7ac4fed25455d48131ba1d6084"},"ros-humble-lifecycle-0.20.2-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831958929,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f349a70fbea43ed774492c8fed9e49ce","name":"ros-humble-lifecycle","requires":[],"size":218074,"version":"0.20.2","binstar":{"package_id":"6392d49546f81babca29cd12","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ed7583e9f051c75a61b955ba810149a975eb480ded39793930ce78611a285805"},"ros-humble-lifecycle-0.20.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-lifecycle-msgs","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844651839,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"359259d3bb5e4a35de352f796131bd87","name":"ros-humble-lifecycle","requires":[],"size":217132,"version":"0.20.3","binstar":{"package_id":"6392d49546f81babca29cd12","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aabf57128a259cecf554e3a891d833be307f06eae5e642234bd1d8134149eaf2"},"ros-humble-laser-filters-2.0.5-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-filters","ros-humble-laser-geometry","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670829712989,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"139a5a4a6bf2a1ad26bdf3234911cd23","name":"ros-humble-laser-filters","requires":[],"size":818455,"version":"2.0.5","binstar":{"package_id":"6392d498114c465c98ce6343","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48e770b59c96415400cffaeecbd1cba0a466e7f2814a3137bb08525ab0940b95"},"ros-humble-laser-filters-2.0.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-filters","ros-humble-laser-geometry","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675832156849,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"91537990c3f1604221691c8f1b04fa70","name":"ros-humble-laser-filters","requires":[],"size":817571,"version":"2.0.5","binstar":{"package_id":"6392d498114c465c98ce6343","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"432761b73e5b518a0cd8e1c68d283c9c1d7545d9c77a8268849bb96a2ef98f17"},"ros-humble-robot-localization-3.3.1-py310hec30da9_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","eigen","geographiclib-cpp >=2.1.1,<2.2.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-diagnostic-msgs","ros-humble-diagnostic-updater","ros-humble-geographic-msgs","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hec30da9_2","timestamp":1670832557232,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"22cf779f30f20a0e0088d53d6c41006f","name":"ros-humble-robot-localization","requires":[],"size":847436,"version":"3.3.1","binstar":{"package_id":"6392d4af46f81babca29fc5f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"01042e8b4048f4e1d11b7eff58aa7298846590556f533c262604f3c46b73ed8a"},"ros-humble-robot-localization-3.3.1-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","eigen","geographiclib-cpp >=2.1.2,<2.2.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-diagnostic-msgs","ros-humble-diagnostic-updater","ros-humble-geographic-msgs","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-rmw-implementation","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1675832036878,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"37e47d0042f9d7b344df4435bf558a3e","name":"ros-humble-robot-localization","requires":[],"size":838551,"version":"3.3.1","binstar":{"package_id":"6392d4af46f81babca29fc5f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"575c5b3528d83295fa60d2d3f3deb9c139857d998b1518efd3e256a0276eec5b"},"ros-humble-joint-state-publisher-gui-2.3.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831496363,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ffd0daa697ac0fd2cce4706360637988","name":"ros-humble-joint-state-publisher-gui","requires":[],"size":20059,"version":"2.3.0","binstar":{"package_id":"6392d4eb46f81babca2a0f34","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4cbb78258354657e8def7e09e0dd8ad5099f0dc75633077b92e58cb5df142efe"},"ros-humble-joint-state-publisher-gui-2.3.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831503578,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6d4e5f1ab67fa983728863ec2a463a4f","name":"ros-humble-joint-state-publisher-gui","requires":[],"size":19547,"version":"2.3.0","binstar":{"package_id":"6392d4eb46f81babca2a0f34","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d0d7e22eb80375e31a4c38050371afb4091eefa65b7c61dd518b2770b6782727"},"ros-humble-nav2-util-1.1.3-py310hec30da9_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-bond","ros-humble-bondcpp","ros-humble-geometry-msgs","ros-humble-launch","ros-humble-launch-testing-ament-cmake","ros-humble-lifecycle-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-msgs","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hec30da9_2","timestamp":1670831407611,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"efd9b6a3a82eaeff6ff350b944a944a4","name":"ros-humble-nav2-util","requires":[],"size":189312,"version":"1.1.3","binstar":{"package_id":"6392d4ec96cc569e10636f4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb9de4fa093e0c5603453b12c40a37f9a6dcc2701104b5233d8b9273b9aab37c"},"ros-humble-nav2-util-1.1.5-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-msgs","ros-humble-bond","ros-humble-bondcpp","ros-humble-geometry-msgs","ros-humble-launch","ros-humble-launch-testing-ament-cmake","ros-humble-lifecycle-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-msgs","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1675831395716,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc87b55f13afd2e94292ff0c67095cca","name":"ros-humble-nav2-util","requires":[],"size":190059,"version":"1.1.5","binstar":{"package_id":"6392d4ec96cc569e10636f4d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fdc656a1c089702400d1d985d90ccefe26b4eb043c68d48ee5d5c79454dc4b0e"},"ros-humble-image-transport-plugins-2.5.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-compressed-depth-image-transport","ros-humble-compressed-image-transport","ros-humble-ros-workspace","ros-humble-theora-image-transport","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670830671680,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"86ebecde98686cd4f260c01f6ebbadb0","name":"ros-humble-image-transport-plugins","requires":[],"size":12387,"version":"2.5.0","binstar":{"package_id":"6392d510d9a997aae74ed97c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5bb6445b0736196c425893545021a2dadc4ddc91f87df02b57d7fddb8d7d1a06"},"ros-humble-image-transport-plugins-2.5.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-compressed-depth-image-transport","ros-humble-compressed-image-transport","ros-humble-ros-workspace","ros-humble-theora-image-transport","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847080242,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"09a6c87088a0eab29d373cf52988ab25","name":"ros-humble-image-transport-plugins","requires":[],"size":12674,"version":"2.5.0","binstar":{"package_id":"6392d510d9a997aae74ed97c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d2d6071147bca65787a5d0f79ff00024bbb9466ccc073bfa84730ca190560d6f"},"ros-humble-pcl-ros-2.4.0-py310h9401cb5_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-pcl-conversions","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h9401cb5_2","timestamp":1670831067902,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6e8e7783b1769932e4a63d5416d91dce","name":"ros-humble-pcl-ros","requires":[],"size":84626,"version":"2.4.0","binstar":{"package_id":"6392d5112dd706205581ab32","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"58f0122c1a25c0a3e0c1316d5e4cb376218d4b468c02d741d34764ba60a37723"},"ros-humble-pcl-ros-2.4.0-py310h9401cb5_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-pcl-conversions","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h9401cb5_3","timestamp":1675831785851,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f24df62f83d42ab1ad46c325dfc405c1","name":"ros-humble-pcl-ros","requires":[],"size":84899,"version":"2.4.0","binstar":{"package_id":"6392d5112dd706205581ab32","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"24270bff2bae25f70ab1b593430a35258d0a130581596d4d6a177acdd0dbf1a0"},"ros-humble-geometry2-0.25.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-bullet","ros-humble-tf2-eigen","ros-humble-tf2-eigen-kdl","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros-humble-tf2-msgs","ros-humble-tf2-py","ros-humble-tf2-ros","ros-humble-tf2-sensor-msgs","ros-humble-tf2-tools","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831168984,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f07813460daf109a9038a7ad2086d786","name":"ros-humble-geometry2","requires":[],"size":12210,"version":"0.25.1","binstar":{"package_id":"6392d512d9a997aae74ed9c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79b9534b3bbe29f8eb7d2e5da3bb59a84a0e97e36a23567a9b6869b3cb5bc456"},"ros-humble-geometry2-0.25.2-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-bullet","ros-humble-tf2-eigen","ros-humble-tf2-eigen-kdl","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros-humble-tf2-msgs","ros-humble-tf2-py","ros-humble-tf2-ros","ros-humble-tf2-sensor-msgs","ros-humble-tf2-tools","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831900387,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"91416408f43e0001479413c47187e44d","name":"ros-humble-geometry2","requires":[],"size":12441,"version":"0.25.2","binstar":{"package_id":"6392d512d9a997aae74ed9c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"948025c6b45720d4ac2d6c0cc9d1f5d7d483e424f61be20f7b58c4dbca034a14"},"ros-humble-gazebo-ros-3.7.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-gazebo-dev","ros-humble-gazebo-msgs","ros-humble-geometry-msgs","ros-humble-launch-ros","ros-humble-rcl","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros-humble-tinyxml-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1677542295225,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cf1a53202e07fbde58710887805ff057","name":"ros-humble-gazebo-ros","requires":[],"size":592439,"version":"3.7.0","binstar":{"package_id":"6392d513a2b71210084391a0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4a8e0191226d63d2ffe8e91468748bdb0cc5b9bda13e74e2d6b158540cc619a5"},"ros-humble-rviz-common-11.2.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670832367317,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6cbec00f33cb0dfdbc07603a442031d6","name":"ros-humble-rviz-common","requires":[],"size":610860,"version":"11.2.4","binstar":{"package_id":"6392d523358aafdd3d9f5ae3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e2e2ec7e97e4fad40e5fa9d6cea048607f4e6a6935a6b7195aab265ea8f375b9"},"ros-humble-rviz-common-11.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-message-filters","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-tinyxml2-vendor","ros-humble-urdf","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675832688484,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"603ed5b105b4f9d6e63bf698c8d258c7","name":"ros-humble-rviz-common","requires":[],"size":621012,"version":"11.2.5","binstar":{"package_id":"6392d523358aafdd3d9f5ae3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d24033b37d79c9372c269b34d9d4c94d3efdf5bb428490af01b171976aa3a20"},"ros-humble-rosbag2-compression-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-cpp","ros-humble-rosbag2-storage","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670831627603,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7d3eaf8fa4fe01b904205c76355d406","name":"ros-humble-rosbag2-compression","requires":[],"size":130442,"version":"0.15.3","binstar":{"package_id":"6392d5246d07f25db98ed570","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4d591eeb2add46f827e564f22cfb7304b5368c05f8c13d59d2b217beff89e43"},"ros-humble-rosbag2-compression-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-cpp","ros-humble-rosbag2-storage","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841974661,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8ad0dc8eafe816ecdba126b73006981f","name":"ros-humble-rosbag2-compression","requires":[],"size":130827,"version":"0.15.4","binstar":{"package_id":"6392d5246d07f25db98ed570","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0840e267e13d71924e3c3fbb544b887c86b12fa5ce0c76ea02a1af0478422e69"},"ros-humble-controller-manager-2.18.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-controller-interface","ros-humble-controller-manager-msgs","ros-humble-hardware-interface","ros-humble-launch","ros-humble-launch-ros","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-ros2-control-test-assets","ros-humble-ros2param","ros-humble-ros2run","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832568664,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7c1418504b2c6e5ced31749ed2435e3f","name":"ros-humble-controller-manager","requires":[],"size":252447,"version":"2.18.0","binstar":{"package_id":"6392d52566b3e4e3def27bbc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"75a241c3ca9fb6b83546df6c931e64682dfea7d8042f6c54e50b6cd4dbf70ff9"},"ros-humble-controller-manager-2.22.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-backward-ros","ros-humble-controller-interface","ros-humble-controller-manager-msgs","ros-humble-diagnostic-updater","ros-humble-hardware-interface","ros-humble-launch","ros-humble-launch-ros","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-ros2-control-test-assets","ros-humble-ros2param","ros-humble-ros2run","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675842069304,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"42537b74fc406e6c4d6eb76aa100f53e","name":"ros-humble-controller-manager","requires":[],"size":295496,"version":"2.22.0","binstar":{"package_id":"6392d52566b3e4e3def27bbc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"241b7fa3d877eac939a84a9af87a0a9745f5d2258a607b6402079c7e98bd06d1"},"ros-humble-rosapi-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros-humble-ros2service","ros-humble-ros2topic","ros-humble-rosapi-msgs","ros-humble-rosbridge-library","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670830763328,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"12404bb403bb12053e733d9f00eba182","name":"ros-humble-rosapi","requires":[],"size":30114,"version":"1.3.1","binstar":{"package_id":"6392d87a6a03c9fad28c3aaf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ad5a3f1f6efe9723800c093dc70c3a8075292986c96ef43f055cf116b31e3e05"},"ros-humble-rosapi-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros-humble-ros2service","ros-humble-ros2topic","ros-humble-rosapi-msgs","ros-humble-rosbridge-library","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675831400125,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d1157b83c4f44cbd3118a858f0ff0d21","name":"ros-humble-rosapi","requires":[],"size":30500,"version":"1.3.1","binstar":{"package_id":"6392d87a6a03c9fad28c3aaf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b077e18f75b3ab14dafad2d6125333db00cd7e28e1ba64b90acc828c9c0b208c"},"ros-humble-image-pipeline-3.0.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration","ros-humble-depth-image-proc","ros-humble-image-proc","ros-humble-image-publisher","ros-humble-image-rotate","ros-humble-image-view","ros-humble-ros-workspace","ros-humble-stereo-image-proc","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833030050,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b0fef2b9a20816f372ac50821d267bc3","name":"ros-humble-image-pipeline","requires":[],"size":12623,"version":"3.0.0","binstar":{"package_id":"6392dd3c13f4c7e7c558ba97","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f9e41e89922a95ffd2426aee18ba9542cf0f521e724c8896ed9ff508fe0aaa6"},"ros-humble-image-pipeline-3.0.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-calibration","ros-humble-depth-image-proc","ros-humble-image-proc","ros-humble-image-publisher","ros-humble-image-rotate","ros-humble-image-view","ros-humble-ros-workspace","ros-humble-stereo-image-proc","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848854078,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"29431e53651585272e1b773cf800a211","name":"ros-humble-image-pipeline","requires":[],"size":12898,"version":"3.0.0","binstar":{"package_id":"6392dd3c13f4c7e7c558ba97","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e3532eb84fb274b3baecf041cc5787e82c394d48f1d002b47882b741483d797b"},"ros-humble-perception-pcl-2.4.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pcl-conversions","ros-humble-pcl-msgs","ros-humble-pcl-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834035040,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e28ebfb53108d91d90c3b4a9477f8ccf","name":"ros-humble-perception-pcl","requires":[],"size":12733,"version":"2.4.0","binstar":{"package_id":"6392dd3ee6a2f79ab85163a8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c3b129297f99a09cd5c688b2f8f3b2541b67f9f079f9cd2a35b13571a3e6e4b"},"ros-humble-perception-pcl-2.4.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pcl-conversions","ros-humble-pcl-msgs","ros-humble-pcl-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841709612,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"64ec6a72a700bf4a81f87f5a08417967","name":"ros-humble-perception-pcl","requires":[],"size":13000,"version":"2.4.0","binstar":{"package_id":"6392dd3ee6a2f79ab85163a8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8baaaac82f5592a59bcc96db53b6c5072e31e2c5f564cc1951fcd701c398c56b"},"ros-humble-nav2-velocity-smoother-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834334581,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7afe2dbed3a57a28d0ac53f85f391747","name":"ros-humble-nav2-velocity-smoother","requires":[],"size":155322,"version":"1.1.3","binstar":{"package_id":"6392dd96bbbc2b1e96622372","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4bd15c56038409384534d88a772e94d041f4b97da871f08c26dd1a8cadc95fd3"},"ros-humble-nav2-velocity-smoother-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841911765,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6142df7ac8431577356f0b297f032506","name":"ros-humble-nav2-velocity-smoother","requires":[],"size":154501,"version":"1.1.5","binstar":{"package_id":"6392dd96bbbc2b1e96622372","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"acab68cf65f699ac4f584f942e6d480510d0151e9235a4417859e8ee6fa0ac39"},"ros-humble-ros2cli-common-extensions-0.1.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-ros-workspace","ros-humble-ros2action","ros-humble-ros2cli","ros-humble-ros2component","ros-humble-ros2doctor","ros-humble-ros2interface","ros-humble-ros2launch","ros-humble-ros2lifecycle","ros-humble-ros2multicast","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros-humble-ros2run","ros-humble-ros2service","ros-humble-ros2topic","ros-humble-sros2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833823695,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0955d3adb860421258c15f4b7145994b","name":"ros-humble-ros2cli-common-extensions","requires":[],"size":12016,"version":"0.1.1","binstar":{"package_id":"6392dd9854e9ace854e2f7d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cda3e047894e64081987aae5bc73b8d04e4393e3b2adabcb23590dc39f65ec1b"},"ros-humble-ros2cli-common-extensions-0.1.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-ros-workspace","ros-humble-ros2action","ros-humble-ros2cli","ros-humble-ros2component","ros-humble-ros2doctor","ros-humble-ros2interface","ros-humble-ros2launch","ros-humble-ros2lifecycle","ros-humble-ros2multicast","ros-humble-ros2node","ros-humble-ros2param","ros-humble-ros2pkg","ros-humble-ros2run","ros-humble-ros2service","ros-humble-ros2topic","ros-humble-sros2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675846971842,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fe1b0924ce8b8444ec01fbcc397de240","name":"ros-humble-ros2cli-common-extensions","requires":[],"size":12284,"version":"0.1.1","binstar":{"package_id":"6392dd9854e9ace854e2f7d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a155f6459e6efb430c7362b79ab734afe2877425fabdaa8c338df66c1b6fa01a"},"ros-humble-nav2-amcl-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833643767,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b6163c7ed3889c9f800eeb1ffda9c08b","name":"ros-humble-nav2-amcl","requires":[],"size":395287,"version":"1.1.3","binstar":{"package_id":"6392dd99114c465c98cfd357","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"903d3ad4ee3d0c7e989b951b80eb21aab021c09b5ebda96d357d9dc7d95065e4"},"ros-humble-nav2-amcl-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675842334387,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5a1967ecfe6f12c504d956b813368805","name":"ros-humble-nav2-amcl","requires":[],"size":395171,"version":"1.1.5","binstar":{"package_id":"6392dd99114c465c98cfd357","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d7427c8fa86a0c526e9e7489d0fddff33acf7f7ae306b6deaaf228c9d8e6bbc"},"ros-humble-sros2-cmake-0.10.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-sros2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833738290,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f3775e62aa73fb2d4d7fa10218cb0ffd","name":"ros-humble-sros2-cmake","requires":[],"size":13012,"version":"0.10.4","binstar":{"package_id":"6392dd9ce6a2f79ab85183f7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1c34bfdb08982f65a447e357557fb7f2f144b99ce94df3a7f001503e8d7480c3"},"ros-humble-sros2-cmake-0.10.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-sros2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848291853,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"868b43cc762cbf6b412503c5bbd69ccf","name":"ros-humble-sros2-cmake","requires":[],"size":13256,"version":"0.10.4","binstar":{"package_id":"6392dd9ce6a2f79ab85183f7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e3a980ac3ef2c481ff6df2337d8add22d9ee9b93e7f035219cd687b1cef2d452"},"ros-humble-rosbag2-compression-zstd-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-zstd-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834433156,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f08a6da5c32bf8a3bba9ea69d949389d","name":"ros-humble-rosbag2-compression-zstd","requires":[],"size":41765,"version":"0.15.3","binstar":{"package_id":"6392dddb46f81babca30593c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c5e4600147fa44d11c1796f28f76ca6f24d9295be2f7e8a089d99ebbdd329d95"},"ros-humble-rosbag2-compression-zstd-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pluginlib","ros-humble-rcpputils","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-zstd-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844556637,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"529631ccb5188446523ba7426e8bb414","name":"ros-humble-rosbag2-compression-zstd","requires":[],"size":42039,"version":"0.15.4","binstar":{"package_id":"6392dddb46f81babca30593c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9d0dee7e888ada39c10dd25d03ece99b85b657d78b361f07d69e85a33a756984"},"ros-humble-nav2-lifecycle-manager-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-bondcpp","ros-humble-diagnostic-updater","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833935984,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dccfb549f4cd9d552e6fd047c2cf1345","name":"ros-humble-nav2-lifecycle-manager","requires":[],"size":134613,"version":"1.1.3","binstar":{"package_id":"6392dddc358aafdd3da0b040","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2ad039f59b20b66ad53220056582d6590ec31ca440f934346c3fb19da90211ef"},"ros-humble-nav2-lifecycle-manager-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-bondcpp","ros-humble-diagnostic-updater","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841700269,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2274997752157ddcc0a2d86d03175363","name":"ros-humble-nav2-lifecycle-manager","requires":[],"size":136191,"version":"1.1.5","binstar":{"package_id":"6392dddc358aafdd3da0b040","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c6cd3334a1039b67d8975356e779d3e4f2e1f3c06c0ff94af0a050159a806e97"},"ros-humble-nav2-map-server-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["graphicsmagick","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833687458,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"30cb1d3c5f12873979d9dfb75f83da49","name":"ros-humble-nav2-map-server","requires":[],"size":249955,"version":"1.1.3","binstar":{"package_id":"6392dddfead2dcc8c20db44e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8220445ab01b45b65561e4c8878d492ac347333335f4d70441593a9eaa1f7626"},"ros-humble-nav2-map-server-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["graphicsmagick","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841430534,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bdf5a6deb88c139980f6e4835d8ac8ba","name":"ros-humble-nav2-map-server","requires":[],"size":249902,"version":"1.1.5","binstar":{"package_id":"6392dddfead2dcc8c20db44e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"201d1e8a76e56367b86269ad0d45695ff301b40ca2cdf027a3cdb16a446e89ce"},"ros-humble-moveit-resources-panda-moveit-config-2.0.6-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-joint-state-publisher-gui","ros-humble-moveit-resources-panda-description","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834044294,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"81bad403c1d6abfaa45d481c54dbdfc2","name":"ros-humble-moveit-resources-panda-moveit-config","requires":[],"size":28140,"version":"2.0.6","binstar":{"package_id":"6392dde046f81babca30619a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"67eae238ec10ff47f1a3fadfa8f9b9a61f1a08c43f69d75ce7dabbeb8306e3ca"},"ros-humble-moveit-resources-panda-moveit-config-2.0.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-joint-state-publisher-gui","ros-humble-moveit-resources-panda-description","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675841807327,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aae377809e5a2279061d2e297b49e5e6","name":"ros-humble-moveit-resources-panda-moveit-config","requires":[],"size":28432,"version":"2.0.6","binstar":{"package_id":"6392dde046f81babca30619a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e41cc6fe8fd2701f208a5557e92c6ae30baf436777dab2e40f5755e7a0f2f9b8"},"ros-humble-nav-2d-utils-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834268590,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d9118673f235516376957d4b373c5fa3","name":"ros-humble-nav-2d-utils","requires":[],"size":32052,"version":"1.1.3","binstar":{"package_id":"6392dde213f4c7e7c558c4aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1ee3103bcfe5a11bb0230d922221b4d87f2f9b5ebfd98e62eb1180ceeb1548d0"},"ros-humble-nav-2d-utils-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675842182671,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a4b381458dea7e5dc25846c7bcf4738a","name":"ros-humble-nav-2d-utils","requires":[],"size":32304,"version":"1.1.5","binstar":{"package_id":"6392dde213f4c7e7c558c4aa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b7b0eaa08665c36ab71439dbded8758b7aa0512a089dc5855c984c23a8878267"},"ros-humble-ros2controlcli-2.31.0-py310h927cc32_3.tar.bz2":{"build_number":3,"license":"BSD-3-Clause","has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pygraphviz","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-controller-manager","ros-humble-controller-manager-msgs","ros-humble-rcl-interfaces","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-ros2node","ros-humble-ros2param","ros-humble-rosidl-runtime-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"subdir":"osx-arm64","timestamp":1694673143510,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py310h927cc32_3","md5":"9863b0d14b13194e8a9ae1521d726f8d","name":"ros-humble-ros2controlcli","requires":[],"size":25698,"version":"2.31.0","binstar":{"package_id":"6392de6754e9ace854e33638","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74a7b98ec87d10971f59c1c478acc6f7c34b1eb567c5380980f226dacb47fe3d"},"ros-humble-cartographer-ros-2.0.9000-py310hd0c70a7_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["abseil-cpp","cartographer >=2.0.0,<2.1.0a0","eigen","gflags >=2.2.2,<2.3.0a0","glog >=0.6.0,<0.7.0a0","libabseil =20220623.0=cxx17*","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-cartographer-ros-msgs","ros-humble-geometry-msgs","ros-humble-launch","ros-humble-nav-msgs","ros-humble-pcl-conversions","ros-humble-rclcpp","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-rosbag2-cpp","ros-humble-rosbag2-storage","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hd0c70a7_3","timestamp":1678332813365,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"19680c39fbe81454d91c070a473a11ff","name":"ros-humble-cartographer-ros","requires":[],"size":898925,"version":"2.0.9000","binstar":{"package_id":"6392de692b3749bdb881ad12","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8ea0c60c88ce0c419485ba4fae4b50b1519fb9a0cb4e926557a4bdebd552c5a"},"ros-humble-transmission-interface-2.31.0-py310h927cc32_3.tar.bz2":{"build_number":3,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-hardware-interface","ros-humble-pluginlib","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"subdir":"osx-arm64","timestamp":1694672998576,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py310h927cc32_3","md5":"b126f63fc5ca7c3538270b4d7a4f8849","name":"ros-humble-transmission-interface","requires":[],"size":56709,"version":"2.31.0","binstar":{"package_id":"6392de6966b3e4e3def7dd4b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"52c09aa402f14faa65aaa1260bcd531124aa330041970b0303f78fcbe82c15ff"},"ros-humble-joint-state-broadcaster-2.15.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-controller-interface","ros-humble-generate-parameter-library","ros-humble-hardware-interface","ros-humble-pluginlib","ros-humble-rclcpp-lifecycle","ros-humble-rcutils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834111098,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a79570227e50d52669afd59c00d99a1b","name":"ros-humble-joint-state-broadcaster","requires":[],"size":110660,"version":"2.15.0","binstar":{"package_id":"6392de8646f81babca30d89e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"08eb9f3e2763f0e35a1c1923c52be322a5ba7073144ff04214f03206dab2b64a"},"ros-humble-joint-state-broadcaster-2.16.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-backward-ros","ros-humble-control-msgs","ros-humble-controller-interface","ros-humble-generate-parameter-library","ros-humble-hardware-interface","ros-humble-pluginlib","ros-humble-rclcpp-lifecycle","ros-humble-rcutils","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843322196,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7e418b20ff6b55018bfe79a282a7388","name":"ros-humble-joint-state-broadcaster","requires":[],"size":111103,"version":"2.16.1","binstar":{"package_id":"6392de8646f81babca30d89e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"270ba10c7e83d160c3ecff4fa61cd7acbfe867acfc5ca1a653e3221fbf455418"},"ros-humble-rviz-visual-testing-framework-11.2.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-cmake-gtest","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rviz-common","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670833082829,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0cb8be5b38c7f98aaeeecbfcb4667d6","name":"ros-humble-rviz-visual-testing-framework","requires":[],"size":83980,"version":"11.2.4","binstar":{"package_id":"6392dea2ed6d66bf8faa7843","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"af734e8f180b5931a29e6d77ee9ff7fb825b14c0c10905ec291eccdbe53d34ec"},"ros-humble-rviz-visual-testing-framework-11.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-cmake-gtest","ros-humble-rcutils","ros-humble-ros-workspace","ros-humble-rviz-common","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675842417891,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8866d1cdb64dd9060876ff8b2335c673","name":"ros-humble-rviz-visual-testing-framework","requires":[],"size":84139,"version":"11.2.5","binstar":{"package_id":"6392dea2ed6d66bf8faa7843","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cd7b6bc67c767225c9da1d432db61e89bbb9d0fe15c8f7339f19245d486ca36d"},"ros-humble-joint-trajectory-controller-2.15.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-control-msgs","ros-humble-control-toolbox","ros-humble-controller-interface","ros-humble-generate-parameter-library","ros-humble-hardware-interface","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-trajectory-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833942580,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"481572a205e6466fe152d80ede5c3a82","name":"ros-humble-joint-trajectory-controller","requires":[],"size":256892,"version":"2.15.0","binstar":{"package_id":"6392dec3a2b71210084aa2bc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"baa07237e4b6baade3423aeb5b54d6d7bbc158392107ef50682408a6a2394cba"},"ros-humble-joint-trajectory-controller-2.16.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-backward-ros","ros-humble-control-msgs","ros-humble-control-toolbox","ros-humble-controller-interface","ros-humble-generate-parameter-library","ros-humble-hardware-interface","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-realtime-tools","ros-humble-ros-workspace","ros-humble-trajectory-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843135204,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9fc06e0dea26915b5ebe3e81fd84509a","name":"ros-humble-joint-trajectory-controller","requires":[],"size":254389,"version":"2.16.1","binstar":{"package_id":"6392dec3a2b71210084aa2bc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b87d67c70488a7d8634cfbb40d3c3a4526207ff49a44e0d35547b26abb5f46e7"},"ros-humble-nav2-behavior-tree-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-behaviortree-cpp-v3","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670833726697,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2cf174fe20cced356a931d369506f52f","name":"ros-humble-nav2-behavior-tree","requires":[],"size":1683930,"version":"1.1.3","binstar":{"package_id":"6392dec446bec18b8907c271","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"653f56b853dd560b56a69f3f0c87279f4d2d93ef0c0cbfbd7966315d7b5c8e20"},"ros-humble-nav2-behavior-tree-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-behaviortree-cpp-v3","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-lifecycle-msgs","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675846584230,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f5bf906a26eb9e3adcf884972f7075d9","name":"ros-humble-nav2-behavior-tree","requires":[],"size":1796453,"version":"1.1.5","binstar":{"package_id":"6392dec446bec18b8907c271","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a5ad611acaa80d944240a09dabbd4e4e86a3f8cbb9595316b94c6a5b90e6104d"},"ros-humble-gazebo-plugins-3.7.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-camera-info-manager","ros-humble-cv-bridge","ros-humble-gazebo-dev","ros-humble-gazebo-msgs","ros-humble-gazebo-ros","ros-humble-geometry-msgs","ros-humble-image-transport","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-trajectory-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1677543321400,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b26171e79cd7ffbe699104c047323605","name":"ros-humble-gazebo-plugins","requires":[],"size":2681030,"version":"3.7.0","binstar":{"package_id":"6392df53e6a2f79ab8534af3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b96ddd86af2dc912387d8fdcb85bc743edfc0dacc741d4d3e73dc8259bb302ab"},"ros-humble-ros-core-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-cmake-auto","ros-humble-ament-cmake-gmock","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-pytest","ros-humble-ament-cmake-ros","ros-humble-ament-index-cpp","ros-humble-ament-index-python","ros-humble-ament-lint-auto","ros-humble-ament-lint-common","ros-humble-class-loader","ros-humble-common-interfaces","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-launch-testing-ament-cmake","ros-humble-launch-testing-ros","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-pluginlib","ros-humble-rcl-lifecycle","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-rclpy","ros-humble-ros-environment","ros-humble-ros-workspace","ros-humble-ros2cli-common-extensions","ros-humble-ros2launch","ros-humble-rosidl-default-generators","ros-humble-rosidl-default-runtime","ros-humble-sros2","ros-humble-sros2-cmake","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670839522929,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e2382c46a41e4b51f92fa5cd17747754","name":"ros-humble-ros-core","requires":[],"size":12391,"version":"0.10.0","binstar":{"package_id":"6393ee61358aafdd3df3eb00","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bbac9cea6c13b2b281c00669721322e8b111b295ef423b60a9d4a2d8c0bba474"},"ros-humble-ros-core-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-cmake","ros-humble-ament-cmake-auto","ros-humble-ament-cmake-gmock","ros-humble-ament-cmake-gtest","ros-humble-ament-cmake-pytest","ros-humble-ament-cmake-ros","ros-humble-ament-index-cpp","ros-humble-ament-index-python","ros-humble-ament-lint-auto","ros-humble-ament-lint-common","ros-humble-class-loader","ros-humble-common-interfaces","ros-humble-launch","ros-humble-launch-ros","ros-humble-launch-testing","ros-humble-launch-testing-ament-cmake","ros-humble-launch-testing-ros","ros-humble-launch-xml","ros-humble-launch-yaml","ros-humble-pluginlib","ros-humble-rcl-lifecycle","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-rclpy","ros-humble-ros-environment","ros-humble-ros-workspace","ros-humble-ros2cli-common-extensions","ros-humble-ros2launch","ros-humble-rosidl-default-generators","ros-humble-rosidl-default-runtime","ros-humble-sros2","ros-humble-sros2-cmake","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675850022889,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5a67ad7a2387cb752de89ab42183f2b6","name":"ros-humble-ros-core","requires":[],"size":12678,"version":"0.10.0","binstar":{"package_id":"6393ee61358aafdd3df3eb00","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2e1ec4b0f61e4293e48fcd489df4dc4c18f5237783187ffeb1e409d81b8dd445"},"ros-humble-ros2-control-2.31.0-py310h927cc32_3.tar.bz2":{"build_number":3,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-controller-interface","ros-humble-controller-manager","ros-humble-controller-manager-msgs","ros-humble-hardware-interface","ros-humble-joint-limits","ros-humble-ros-workspace","ros-humble-ros2-control-test-assets","ros-humble-ros2controlcli","ros-humble-transmission-interface","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"subdir":"osx-arm64","timestamp":1694673374313,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py310h927cc32_3","md5":"a08cb08685b34cab0abcd8bf38f82729","name":"ros-humble-ros2-control","requires":[],"size":12635,"version":"2.31.0","binstar":{"package_id":"6393ee8454e9ace8543c1b9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"14ca3000202f52d823c73a3df7f20d823ccab920d7451ba0d6ff2f4259ba6c8c"},"ros-humble-turtlebot3-cartographer-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cartographer-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333763014,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"766738d7bd4be15d65d44f722410867c","name":"ros-humble-turtlebot3-cartographer","requires":[],"size":19836,"version":"2.1.5","binstar":{"package_id":"6393ee87a2b7121008f884c1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"63bb6e21ddd2eefdc83e62abaf8a11fe312796c258ffbb4dfc9f297d473725e0"},"ros-humble-ros-ign-image-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-image","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670832347529,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9cdad0816ffe1a898b3565edd307ea53","name":"ros-humble-ros-ign-image","requires":[],"size":20416,"version":"0.244.9","binstar":{"package_id":"6393ee9e83c9be96ebb8ffd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cb5177e50d229225b377b14e7be9c1abc35a6b3ced44b1d88fdbacada54ca3f6"},"ros-humble-ros-ign-image-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-image","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847376633,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"56297781774854e5c99cc20ca9c79bcb","name":"ros-humble-ros-ign-image","requires":[],"size":20741,"version":"0.244.9","binstar":{"package_id":"6393ee9e83c9be96ebb8ffd7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"31376f68d89c997629027035a149d569079ef3ab0635686ebf8d2bd58136accb"},"ros-humble-ros-ign-gazebo-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-sim","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670824025732,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"71a75fb4d420f0406fff6d4a89003918","name":"ros-humble-ros-ign-gazebo","requires":[],"size":23192,"version":"0.244.9","binstar":{"package_id":"6393ee9f46f81babcae1d4a4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a65c485ab793413f91f1fdb949168dace18f694b6ba7e27fbeb11e7bdda6a0b9"},"ros-humble-ros-ign-gazebo-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-sim","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675756348774,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f3f0b69b7a407a71885fda70e753a3b7","name":"ros-humble-ros-ign-gazebo","requires":[],"size":23460,"version":"0.244.9","binstar":{"package_id":"6393ee9f46f81babcae1d4a4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c9040bab8e7585a12348868584bb3dbce610a5f3b4688f1d7543853fc15ab2a4"},"ros-humble-nav2-costmap-2d-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-geometry-msgs","ros-humble-laser-geometry","ros-humble-map-msgs","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-nav2-voxel-grid","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-tf2-sensor-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670836049053,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c2c2eb971a8cf4db78c43b2170f725f6","name":"ros-humble-nav2-costmap-2d","requires":[],"size":1292788,"version":"1.1.3","binstar":{"package_id":"6393f30e46f81babcae2c984","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ffdd7257db764cd1d85e33455bcd85cf64fa5aebfa20e3d62d2aa3a17bc837d0"},"ros-humble-nav2-costmap-2d-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-geometry-msgs","ros-humble-laser-geometry","ros-humble-map-msgs","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-nav2-voxel-grid","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-tf2-sensor-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675843482632,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"812413ef768bc5506ee380f1d7a24bb2","name":"ros-humble-nav2-costmap-2d","requires":[],"size":1292713,"version":"1.1.5","binstar":{"package_id":"6393f30e46f81babcae2c984","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b07b337a926dc6baff8123da4303dacf8392b0b553b3f9b240952984b1101805"},"ros-humble-moveit-core-2.5.4-py310h01047a8_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost >=1.78.0,<1.78.1.0a0","bullet","eigen","fcl >=0.7.0,<0.8.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-common-interfaces","ros-humble-eigen-stl-containers","ros-humble-eigen3-cmake-module","ros-humble-geometric-shapes","ros-humble-geometry-msgs","ros-humble-kdl-parser","ros-humble-moveit-common","ros-humble-moveit-msgs","ros-humble-octomap-msgs","ros-humble-pluginlib","ros-humble-pybind11-vendor","ros-humble-random-numbers","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-ruckig","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-srdfdom","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-trajectory-msgs","ros-humble-urdf","ros-humble-urdfdom","ros-humble-urdfdom-headers","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h01047a8_2","timestamp":1670837253536,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c641345b1e9d123b81be6f076bf81984","name":"ros-humble-moveit-core","requires":[],"size":1324905,"version":"2.5.4","binstar":{"package_id":"6393f3112dd7062055f88ac1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"043154e96a5875365818b82852370d2d01e230b23e3134aa468391950dfbcf81"},"ros-humble-moveit-core-2.5.4-py310h01047a8_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost >=1.78.0,<1.78.1.0a0","bullet","eigen","fcl >=0.7.0,<0.8.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-common-interfaces","ros-humble-eigen-stl-containers","ros-humble-eigen3-cmake-module","ros-humble-geometric-shapes","ros-humble-geometry-msgs","ros-humble-kdl-parser","ros-humble-moveit-common","ros-humble-moveit-msgs","ros-humble-octomap-msgs","ros-humble-pluginlib","ros-humble-pybind11-vendor","ros-humble-random-numbers","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-ruckig","ros-humble-sensor-msgs","ros-humble-shape-msgs","ros-humble-srdfdom","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-trajectory-msgs","ros-humble-urdf","ros-humble-urdfdom","ros-humble-urdfdom-headers","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h01047a8_3","timestamp":1675844365620,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b71adbdf1666012e46134ffff5a03832","name":"ros-humble-moveit-core","requires":[],"size":1326954,"version":"2.5.4","binstar":{"package_id":"6393f3112dd7062055f88ac1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5744bc0bf4a418ffbc1b4a3fccf7ada55847f26e0b4eaf27d4709654b29dfdf2"},"ros-humble-rosbag2-transport-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-keyboard-handler","ros-humble-rclcpp","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-rosbag2-cpp","ros-humble-rosbag2-interfaces","ros-humble-rosbag2-storage","ros-humble-shared-queues-vendor","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670837535490,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ab643bb1edf856e74ea0d85f299dd090","name":"ros-humble-rosbag2-transport","requires":[],"size":288366,"version":"0.15.3","binstar":{"package_id":"6393f36b4f66fd116f613e8b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b67bda5ce787eb7af41d0d70e725ed872df1c7c1995aadcb1a1da132a043736b"},"ros-humble-rosbag2-transport-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-keyboard-handler","ros-humble-rclcpp","ros-humble-rmw","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-rosbag2-cpp","ros-humble-rosbag2-interfaces","ros-humble-rosbag2-storage","ros-humble-shared-queues-vendor","ros-humble-yaml-cpp-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847846196,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"82de39b7af548a7d948f3eaa0e5b628b","name":"ros-humble-rosbag2-transport","requires":[],"size":289521,"version":"0.15.4","binstar":{"package_id":"6393f36b4f66fd116f613e8b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fca40e891bbe755c48ee39778245c245f8d364d2b89be00d3e05c066b8df26f5"},"ros-humble-rviz-default-plugins-11.2.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-ignition-math6-vendor","ros-humble-image-transport","ros-humble-interactive-markers","ros-humble-laser-geometry","ros-humble-map-msgs","ros-humble-nav-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670839335510,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a285b6405496d7e29b6e8e12eb101ba1","name":"ros-humble-rviz-default-plugins","requires":[],"size":1597896,"version":"11.2.4","binstar":{"package_id":"6393f36f6d07f25db9c7188e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e74cac3a4c002ae681d0c137dddc77904c2d0adb62f5d5477f8fc6ae4fb0d503"},"ros-humble-rviz-default-plugins-11.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-ignition-math6-vendor","ros-humble-image-transport","ros-humble-interactive-markers","ros-humble-laser-geometry","ros-humble-map-msgs","ros-humble-nav-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675845941128,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2bba7a538c50ac017804443dd56a1ece","name":"ros-humble-rviz-default-plugins","requires":[],"size":1586463,"version":"11.2.5","binstar":{"package_id":"6393f36f6d07f25db9c7188e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f20f5cbcc861e4d6cd6f589c658f671cfe843293941fdd0e7ad6167d83b54a06"},"ros-humble-pilz-industrial-motion-planner-testutils-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670841388619,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a1d506f9926288cc9660015084efaf78","name":"ros-humble-pilz-industrial-motion-planner-testutils","requires":[],"size":139942,"version":"2.5.4","binstar":{"package_id":"6393f4eebbbc2b1e960385a9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5173062385a7ce41611d4af3dedb390ba9330b1bd65bc376eaff1829b7e8ca4a"},"ros-humble-pilz-industrial-motion-planner-testutils-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847413498,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ec19bb93ae241402a6b3ff058d2da3bb","name":"ros-humble-pilz-industrial-motion-planner-testutils","requires":[],"size":140318,"version":"2.5.4","binstar":{"package_id":"6393f4eebbbc2b1e960385a9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aa7ad1f0733a2556903928269ec2a899c6263248b297d8810560acfe3efaa386"},"ros-humble-nav2-rviz-plugins-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-lifecycle-manager","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-default-plugins","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-std-msgs","ros-humble-tf2-geometry-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670841316507,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"339c9007b3104c45fca3c0fd3e645b5c","name":"ros-humble-nav2-rviz-plugins","requires":[],"size":371958,"version":"1.1.3","binstar":{"package_id":"6393f5ce66b3e4e3dead5868","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"65e006701ddb4e529d35735e8064059fad9781179b19c6f2d515757a7ae35cd3"},"ros-humble-nav2-rviz-plugins-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-lifecycle-manager","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-resource-retriever","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-default-plugins","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-std-msgs","ros-humble-tf2-geometry-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675848284939,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9650fbbf14ab7a3d334bf997e801720a","name":"ros-humble-nav2-rviz-plugins","requires":[],"size":370844,"version":"1.1.5","binstar":{"package_id":"6393f5ce66b3e4e3dead5868","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2784e76cd1c3efbddfeff7a75c8886f4a60fca84a6702fcb69c6901a8ea7bf57"},"ros-humble-nav2-core-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840054742,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7a77f42193f9aa2fc89d29a5ab97818","name":"ros-humble-nav2-core","requires":[],"size":18812,"version":"1.1.3","binstar":{"package_id":"6393f5d01f9cf5f92a1e2537","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"93e3e625848b014dec591f451243c1f803d5b62cf1c4c85135a2d70ba7460418"},"ros-humble-nav2-core-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847066046,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ced65c14f0490818df3abb830d3ba94","name":"ros-humble-nav2-core","requires":[],"size":19052,"version":"1.1.5","binstar":{"package_id":"6393f5d01f9cf5f92a1e2537","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7734933a0690658039573f9b3e7a6b7233e386c9ec790ab7af6df20656a6d4ca"},"ros-humble-moveit-ros-occupancy-map-monitor-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-geometric-shapes","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840375786,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b28811bc3156d04a999d4c474c3d6548","name":"ros-humble-moveit-ros-occupancy-map-monitor","requires":[],"size":270993,"version":"2.5.4","binstar":{"package_id":"6393f5d14f66fd116f624993","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b3896c8f5938496cf76d24ab4514ea2f201c5389089b0b5d16b40e2802ac40c1"},"ros-humble-moveit-ros-occupancy-map-monitor-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-geometric-shapes","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847416687,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"622b9027362dc510de042115ec7085d3","name":"ros-humble-moveit-ros-occupancy-map-monitor","requires":[],"size":271536,"version":"2.5.4","binstar":{"package_id":"6393f5d14f66fd116f624993","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f3c627f627b10a339cdc4ad84d096542a315c2026ae95cdd5198c510d9b2863"},"ros-humble-costmap-queue-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav2-costmap-2d","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840596034,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2f924aee940401fe4a00171f985a1c9c","name":"ros-humble-costmap-queue","requires":[],"size":27041,"version":"1.1.3","binstar":{"package_id":"6393f5d34f66fd116f6249e8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7d2dec8d4a6d88586036f41440828c184e123ac52d11bf9b979f492c5450dc8b"},"ros-humble-costmap-queue-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav2-costmap-2d","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847632648,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bb6d09ba50c71c873d1e21111a10c584","name":"ros-humble-costmap-queue","requires":[],"size":27286,"version":"1.1.5","binstar":{"package_id":"6393f5d34f66fd116f6249e8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ec4b8a661032a220b88fc81de883a3c1f5e9f455a65d075f8cff85e9a3cec8dd"},"ros-humble-rosbag2-py-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pybind11-vendor","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-rosbag2-cpp","ros-humble-rosbag2-storage","ros-humble-rosbag2-transport","ros-humble-rpyutils","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840841374,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"77cc27e7bc0f56fe84feea84ae103764","name":"ros-humble-rosbag2-py","requires":[],"size":485516,"version":"0.15.3","binstar":{"package_id":"6393f5d44f66fd116f624a21","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b32b45b105e81020316dba2bb14278e8bb8a4afa20175c1a406069804e3d013b"},"ros-humble-rosbag2-py-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-pybind11-vendor","ros-humble-ros-workspace","ros-humble-rosbag2-compression","ros-humble-rosbag2-cpp","ros-humble-rosbag2-storage","ros-humble-rosbag2-transport","ros-humble-rpyutils","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675850724145,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6ac11f3e3ff1351a217ebeb69e30ae90","name":"ros-humble-rosbag2-py","requires":[],"size":486601,"version":"0.15.4","binstar":{"package_id":"6393f5d44f66fd116f624a21","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"223910a95b8ec026015fc6c56a5eadfc480703ce1e1548963317523ab69a9e5a"},"ros-humble-moveit-simple-controller-manager-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670840720539,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"23b357a278adb447ae403ed251c2c1e9","name":"ros-humble-moveit-simple-controller-manager","requires":[],"size":110470,"version":"2.5.4","binstar":{"package_id":"6393f87e6a03c9fad22be8b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0245b8b21a983dfbb59ebdbab0ec7c21ce22e244a3e4e0aeb5dbbc23dc22332c"},"ros-humble-moveit-simple-controller-manager-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-control-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675847851620,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9fbf362455eb8952ee89b3e1e0b226f9","name":"ros-humble-moveit-simple-controller-manager","requires":[],"size":110803,"version":"2.5.4","binstar":{"package_id":"6393f87e6a03c9fad22be8b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"da48e629e172b0030cc6dbaf50c7dc78bc89b19fe8176526af480364e9694337"},"ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-core","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670841036787,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"455272228dfcb0f917d5b5215485d781","name":"ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","requires":[],"size":122038,"version":"2.5.4","binstar":{"package_id":"6393f880bbbc2b1e96051924","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7c6c22c48894c27dec33b63ea053ce78d0889ec37b38d2d7d70223d63947bfa9"},"ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-core","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848171503,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3f5c2c5a84ec4840556321f583e599e5","name":"ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","requires":[],"size":122356,"version":"2.5.4","binstar":{"package_id":"6393f880bbbc2b1e96051924","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f61f78257122486f494279652a47c1cc4771670ec5bb007ddc0541a04ccfb7c1"},"ros-humble-rviz2-11.2.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-default-plugins","ros-humble-rviz-ogre-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670840401519,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"78a341491bfc364575c190f53038490c","name":"ros-humble-rviz2","requires":[],"size":23967,"version":"11.2.4","binstar":{"package_id":"6393f8cde6a2f79ab8ce7eb6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"885e7b1186f983bcee0339b0c662e249d5f910cd42f1d28ef0d67bd763d3e750"},"ros-humble-rviz2-11.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-default-plugins","ros-humble-rviz-ogre-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675847514451,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1b8fdf5405eb2609f75f74288e127aa2","name":"ros-humble-rviz2","requires":[],"size":24288,"version":"11.2.5","binstar":{"package_id":"6393f8cde6a2f79ab8ce7eb6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8037332f8ada8904e90f8895b643453a70a08c64e04ad7f27530dd642ecffbfa"},"ros-humble-nav2-smac-planner-1.1.3-py310h256e9aa_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","libode >=0.16.2,<0.16.3.0a0","llvm-openmp >=14.0.6","llvm-openmp >=14.0.6","nlohmann_json","numpy >=1.21.6,<2.0a0","ompl >=1.5.2,<1.6.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-builtin-interfaces","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-ompl","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h256e9aa_2","timestamp":1670846052933,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9d92e5c71bc9d8a500943fda070d8596","name":"ros-humble-nav2-smac-planner","requires":[],"size":634745,"version":"1.1.3","binstar":{"package_id":"63947b306a03c9fad2582f8f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c563a490025d5854d9680a06495c61c92c44e9da15cca935e6ee91317cf35892"},"ros-humble-nav2-smac-planner-1.1.5-py310h256e9aa_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","libode >=0.16.2,<0.16.3.0a0","llvm-openmp >=14.0.6","llvm-openmp >=14.0.6","nlohmann_json","numpy >=1.21.6,<2.0a0","ompl >=1.5.2,<1.6.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-builtin-interfaces","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-ompl","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h256e9aa_3","timestamp":1675849930874,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"072bd283640a93b34a6547c573420052","name":"ros-humble-nav2-smac-planner","requires":[],"size":633942,"version":"1.1.5","binstar":{"package_id":"63947b306a03c9fad2582f8f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"801d54377ec9425f48f302f67ab6dd629cb5f72f0cf5e6887684c5960dc10dd7"},"ros-humble-nav2-smoother-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670845521306,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e73c8c1af9004b5cc9947f00950fcb6","name":"ros-humble-nav2-smoother","requires":[],"size":208143,"version":"1.1.3","binstar":{"package_id":"63947b31ead2dcc8c2ce0db2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"be813233d1b1af80133c39514db007bc1c9ce781150fee308b3119fe3d16e6b2"},"ros-humble-nav2-smoother-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849439611,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b5a8643b6c05ffe870e60b51f35cb9f7","name":"ros-humble-nav2-smoother","requires":[],"size":208406,"version":"1.1.5","binstar":{"package_id":"63947b31ead2dcc8c2ce0db2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"883aafb8b3921740306ac904884dce0cb789af744ad47ad9b16749632fe85e61"},"ros-humble-nav2-planner-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670846354849,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"796f85ed789db0d8c638cc50efa7b3e8","name":"ros-humble-nav2-planner","requires":[],"size":216075,"version":"1.1.3","binstar":{"package_id":"63947b3266b3e4e3dedd2e10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a7e1632127591f878087b685e265f3314e6f67c439f42194e35215b59e7b8104"},"ros-humble-nav2-planner-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675850222314,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f4ac7c1c27120f6a98d3093e0d13d89d","name":"ros-humble-nav2-planner","requires":[],"size":215197,"version":"1.1.5","binstar":{"package_id":"63947b3266b3e4e3dedd2e10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"380b72ab82dcf1d93f0bb656c50b087a379ff5e0b9b8264d5e61d2327fb37b0d"},"ros-humble-nav2-navfn-planner-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670846590848,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c4c8c06c36d88f748d16266f1f0596b8","name":"ros-humble-nav2-navfn-planner","requires":[],"size":56124,"version":"1.1.3","binstar":{"package_id":"63947b346643907e3b804fe6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2370e8167ed9c75b2fad8bf31d95da3e69481b5a2501de42f72719c609ac16e7"},"ros-humble-nav2-navfn-planner-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848816221,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b24263dacfe5c933495a1f8802710103","name":"ros-humble-nav2-navfn-planner","requires":[],"size":56391,"version":"1.1.5","binstar":{"package_id":"63947b346643907e3b804fe6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"042dee48f023963b2f5ed259be1706c2b251a129f8d31d34f039a45cea3fcba6"},"ros-humble-nav2-theta-star-planner-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670845183478,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d50f69b38fab973d744103967cdc1ee5","name":"ros-humble-nav2-theta-star-planner","requires":[],"size":47782,"version":"1.1.3","binstar":{"package_id":"63947b356e0eca100b76d3b3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e34db1a6183c5b110fb9917232e384a226dd9246b5e05a5ae23f2a698cd8696"},"ros-humble-nav2-theta-star-planner-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-builtin-interfaces","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849158858,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d97b441f4262b9e8ac881fdbef96cc4a","name":"ros-humble-nav2-theta-star-planner","requires":[],"size":49078,"version":"1.1.5","binstar":{"package_id":"63947b356e0eca100b76d3b3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cee59151d9efcd02f98f34bb1209448e9f896dcf3ccef8674e2b0ec36f073e05"},"ros-humble-nav2-behaviors-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-behavior-tree","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670844446309,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c6973c97c51d82872d5c59740fea5d9","name":"ros-humble-nav2-behaviors","requires":[],"size":560338,"version":"1.1.3","binstar":{"package_id":"63947b5e46bec18b899d3d3f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"19a411dec703b01b7ee3d6943774fda13d58d926da5b968ae17dffac1012b18b"},"ros-humble-nav2-behaviors-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-behavior-tree","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849903078,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"562c6c36d93f503547fa66a04c8a89f5","name":"ros-humble-nav2-behaviors","requires":[],"size":561024,"version":"1.1.5","binstar":{"package_id":"63947b5e46bec18b899d3d3f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0771ce93c69dee6af126130791530c3c104b809ee6649a6e52835041164c0f18"},"ros-humble-nav2-constrained-smoother-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["ceres-solver >=2.1.0,<2.2.0a0","eigen >=3.4.0,<3.4.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670843539106,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5c0a914d0ba76606193949eb119b1679","name":"ros-humble-nav2-constrained-smoother","requires":[],"size":75860,"version":"1.1.3","binstar":{"package_id":"63947b604f66fd116fa2757c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a8ea528c1469376cf8564956604e2bfc6f3c7cd993dc4ba151c6d72a4fbbf34d"},"ros-humble-nav2-constrained-smoother-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["ceres-solver >=2.1.0,<2.2.0a0","eigen >=3.4.0,<3.4.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849106432,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4917018be17bce27fa1562174578302f","name":"ros-humble-nav2-constrained-smoother","requires":[],"size":76237,"version":"1.1.5","binstar":{"package_id":"63947b604f66fd116fa2757c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"58ed0779b403093d391a6feb0b945d40e7fa074f30a3cebed865b7d557527705"},"ros-humble-nav2-bt-navigator-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-behaviortree-cpp-v3","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-behavior-tree","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670843949739,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eb33fe21958184c4eb2d2476852d7c1b","name":"ros-humble-nav2-bt-navigator","requires":[],"size":316148,"version":"1.1.3","binstar":{"package_id":"63947b61e6a2f79ab8eb521e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8c7be9bc0edf85b846a480797b8328e57ae28e911503a820cd746c48b08781d7"},"ros-humble-nav2-bt-navigator-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-behaviortree-cpp-v3","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-nav2-behavior-tree","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849433893,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f091c0be06f88ec4d0fdcbeb00041fa2","name":"ros-humble-nav2-bt-navigator","requires":[],"size":312193,"version":"1.1.5","binstar":{"package_id":"63947b61e6a2f79ab8eb521e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"450573899f8b9708fbd481d1fe4d9a45fcf185d58db1fac3245c7fa2cfb2ee43"},"ros-humble-nav2-controller-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670846994456,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"769afe171c0de185eab6708d6f77eefa","name":"ros-humble-nav2-controller","requires":[],"size":352135,"version":"1.1.3","binstar":{"package_id":"63947c754f66fd116fa364af","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3f07c024d7b2bb1e7729fef6a00900cb2c4f6f504702b3f051512bf2d551078a"},"ros-humble-nav2-controller-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675850495462,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"27e3e965bac5c9cc82fb61fdf24281ad","name":"ros-humble-nav2-controller","requires":[],"size":356638,"version":"1.1.5","binstar":{"package_id":"63947c754f66fd116fa364af","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79606005d5743b58954e1c6659e0c91eb46f408a32be9d04562fe2e0362c0caf"},"ros-humble-moveit-ros-planning-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-eigen3-cmake-module","ros-humble-message-filters","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-occupancy-map-monitor","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-srdfdom","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670846379764,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ffea1058883d55582c8e600e02d35de4","name":"ros-humble-moveit-ros-planning","requires":[],"size":1486060,"version":"2.5.4","binstar":{"package_id":"63947c76ead2dcc8c2ce682a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"47560ddeb01c3929728279e3e86adc3f4b5b5602c4f3498c70e43bb359113af6"},"ros-humble-moveit-ros-planning-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-eigen3-cmake-module","ros-humble-message-filters","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-occupancy-map-monitor","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-srdfdom","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-msgs","ros-humble-tf2-ros","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675849872945,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5c4fb3a7f92cc96f740f631f15847d15","name":"ros-humble-moveit-ros-planning","requires":[],"size":1502638,"version":"2.5.4","binstar":{"package_id":"63947c76ead2dcc8c2ce682a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aa979a939ad6b0a2caf2d0db614e1b74a0671fe1b8bb328ee0acff7cafb57a1d"},"ros-humble-nav2-waypoint-follower-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670847356725,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c5a49f0e34b433eb71dc4d4f61e384cf","name":"ros-humble-nav2-waypoint-follower","requires":[],"size":395458,"version":"1.1.3","binstar":{"package_id":"63947c77a2b71210082e5bbd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b85800403a4fc8b7ae8a2f5426bef4cb3024cee5c131bba57b5ee8e5ae3706ac"},"ros-humble-nav2-waypoint-follower-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-cv-bridge","ros-humble-image-transport","ros-humble-nav-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclcpp-lifecycle","ros-humble-ros-workspace","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848923220,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f84252db4d35e59a5106625c6f7f3b0f","name":"ros-humble-nav2-waypoint-follower","requires":[],"size":396516,"version":"1.1.5","binstar":{"package_id":"63947c77a2b71210082e5bbd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7cf790e22a524b9a83c792e0d5d08c408039d669c86432b0814be016d9df6f95"},"ros-humble-nav2-regulated-pure-pursuit-controller-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670846644515,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3e2f2ed562e3d3006cfec334ee969ec4","name":"ros-humble-nav2-regulated-pure-pursuit-controller","requires":[],"size":110346,"version":"1.1.3","binstar":{"package_id":"63947c78bbbc2b1e962d69a7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b714f4e7a7c625b1979ad4a3f75eb9587f84ec656c10babcba07007d297f87bb"},"ros-humble-nav2-regulated-pure-pursuit-controller-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675850150595,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"908d5a523c06e58b37411fb2d528317a","name":"ros-humble-nav2-regulated-pure-pursuit-controller","requires":[],"size":110458,"version":"1.1.5","binstar":{"package_id":"63947c78bbbc2b1e962d69a7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ab8040ab920b2d051cdc56993fe791a9fbc46f111c3d9438caf69a738a87d940"},"ros-humble-dwb-core-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-dwb-msgs","ros-humble-geometry-msgs","ros-humble-nav-2d-utils","ros-humble-nav-msgs","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670845527606,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3262b2e373acd397b4c5350667661627","name":"ros-humble-dwb-core","requires":[],"size":216642,"version":"1.1.3","binstar":{"package_id":"63947c79358aafdd3d07c31a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3fd60368295ccff1fe20badb3093c9e35b822ae37d8306314c3687b831e0295"},"ros-humble-dwb-core-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-dwb-msgs","ros-humble-geometry-msgs","ros-humble-nav-2d-utils","ros-humble-nav-msgs","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848993392,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cd8cbf5358fd9e00f50e156766082a61","name":"ros-humble-dwb-core","requires":[],"size":216953,"version":"1.1.5","binstar":{"package_id":"63947c79358aafdd3d07c31a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aec125c92cd0eea0b62e4dbed5252e43bb6c4a788f37a6402b7f1937ddbd5917"},"ros-humble-moveit-plugins-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-simple-controller-manager","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670844313316,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3bfc65d29158c2aa1935639c9003ca94","name":"ros-humble-moveit-plugins","requires":[],"size":12524,"version":"2.5.4","binstar":{"package_id":"6395846954e9ace8546fb6a7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"579ef5993300d46532a07c999a7eba0b972ef03f7a0c17bf5f2d48389cf61a2c"},"ros-humble-moveit-plugins-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-simple-controller-manager","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848986828,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8e45a171b67a2083a6084ea2c7d7c3eb","name":"ros-humble-moveit-plugins","requires":[],"size":12771,"version":"2.5.4","binstar":{"package_id":"6395846954e9ace8546fb6a7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"69bc296d88d37d3e0cbba03705169976b36a8aef13bd3163add3f308cd47430a"},"ros-humble-moveit-kinematics-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-class-loader","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-orocos-kdl-vendor","ros-humble-pluginlib","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-kdl","ros-humble-urdfdom","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670850012189,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"12cf387c38b88365a3c5f75761078e04","name":"ros-humble-moveit-kinematics","requires":[],"size":248959,"version":"2.5.4","binstar":{"package_id":"639585db1f9cf5f92a388600","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2154d0157889cba095396c46ba21b9ae98ef3ad8838d2aae8bc27a05c9809c16"},"ros-humble-moveit-kinematics-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","lxml","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-class-loader","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-orocos-kdl-vendor","ros-humble-pluginlib","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-kdl","ros-humble-urdfdom","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675851963388,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1791d5798e26d0d906cc0496cc0dd5f8","name":"ros-humble-moveit-kinematics","requires":[],"size":250711,"version":"2.5.4","binstar":{"package_id":"639585db1f9cf5f92a388600","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"11306d753db59193e84ab838f1397acf98cf3481ffea439a26ca5c7e34f975e9"},"ros-humble-nav2-rotation-shim-controller-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670850314232,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"96a3ee75912814fb8925d40c3db41c68","name":"ros-humble-nav2-rotation-shim-controller","requires":[],"size":108680,"version":"1.1.3","binstar":{"package_id":"639585dca2b71210089676f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5f7099c88f75268df1abce420158f8ff376d245273e0a9df9e508b58373d139d"},"ros-humble-nav2-rotation-shim-controller-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675852209505,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"57db1b2469f3e85943bf3f16f1939774","name":"ros-humble-nav2-rotation-shim-controller","requires":[],"size":109125,"version":"1.1.5","binstar":{"package_id":"639585dca2b71210089676f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"87842d58fd21df13ec977507064b101a10fef09a1d9abf421c6f80b178ddb61b"},"ros-humble-dwb-plugins-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-dwb-core","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670849212577,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee142b886b1eed2e10513c665e787210","name":"ros-humble-dwb-plugins","requires":[],"size":54780,"version":"1.1.3","binstar":{"package_id":"639585e02dd70620554daa4f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3200305666ccbbab2566ff646b9dc1401da8b51ae0b4bd6f6851e35c2de9e9c1"},"ros-humble-dwb-plugins-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-dwb-core","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675851249940,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3e6af064b2441edf11d83f968b61c3d3","name":"ros-humble-dwb-plugins","requires":[],"size":55157,"version":"1.1.5","binstar":{"package_id":"639585e02dd70620554daa4f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0c7412261f94ca232073d4c51cf0948444e95d302d82f6a1ee54dd8c52e32b83"},"ros-humble-dwb-critics-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-costmap-queue","ros-humble-dwb-core","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670849529971,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c143147b4f6c096241109a496ca6bf00","name":"ros-humble-dwb-critics","requires":[],"size":65053,"version":"1.1.3","binstar":{"package_id":"639585e246f81babca8682fe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7237f13b59a00e8dfd31b2226bde012cbfc39ff24d1953fd08463326ee3eeae3"},"ros-humble-dwb-critics-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-angles","ros-humble-costmap-queue","ros-humble-dwb-core","ros-humble-geometry-msgs","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-nav2-costmap-2d","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675851550658,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5fb96f063a08564c04f6ed70d6e2d3a","name":"ros-humble-dwb-critics","requires":[],"size":65382,"version":"1.1.5","binstar":{"package_id":"639585e246f81babca8682fe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4127fbd2e0d89c8e27b174e50c5bcf316085d179be7335a15fccc644e7e959ad"},"ros-humble-turtlebot3-bringup-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-hls-lfcd-lds-driver","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-rviz2","ros-humble-turtlebot3-description","ros-humble-turtlebot3-node","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333862521,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"67158dce1fbbbb394fccbc7eb785a293","name":"ros-humble-turtlebot3-bringup","requires":[],"size":17633,"version":"2.1.5","binstar":{"package_id":"63964971a2b7121008e87c79","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1360dc7bbb66ccab14e0f2be6ffac332e455f80f009c3be64e7e341e6678d16f"},"ros-humble-ros-gz-sim-demos-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-gazebo6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-transport-plugins","ros-humble-robot-state-publisher","ros-humble-ros-gz-bridge","ros-humble-ros-gz-image","ros-humble-ros-gz-sim","ros-humble-ros-workspace","ros-humble-rqt-image-view","ros-humble-rqt-plot","ros-humble-rqt-topic","ros-humble-rviz2","ros-humble-sdformat-urdf","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670844205871,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83c39f7b1c65ab0b5ec9d765f679d2b6","name":"ros-humble-ros-gz-sim-demos","requires":[],"size":35245,"version":"0.244.9","binstar":{"package_id":"63964a4246bec18b89ff9386","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5013a11ff47e2d1aec2ad65b4d66f3c925c9fc1915fb02d76c5339f3be7fb0a5"},"ros-humble-ros-gz-sim-demos-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libignition-gazebo6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-transport-plugins","ros-humble-robot-state-publisher","ros-humble-ros-gz-bridge","ros-humble-ros-gz-image","ros-humble-ros-gz-sim","ros-humble-ros-workspace","ros-humble-rqt-image-view","ros-humble-rqt-plot","ros-humble-rqt-topic","ros-humble-rviz2","ros-humble-sdformat-urdf","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675848745711,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5bb3467985f3d68461fa13f97b77ae19","name":"ros-humble-ros-gz-sim-demos","requires":[],"size":35664,"version":"0.244.9","binstar":{"package_id":"63964a4246bec18b89ff9386","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e9cb9174d69cf83caf74d7be3a27199b71ad0ee417b9ff3254571a735c105bc"},"ros-humble-rqt-bag-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosbag2-py","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670844700103,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2b7a0c6dc59d1847924c5b0552fb4a40","name":"ros-humble-rqt-bag","requires":[],"size":87430,"version":"1.1.4","binstar":{"package_id":"63964bb4e6a2f79ab848612f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b7201fd80fb0ee089c9b9bd7f423202d49de7a09b2a5d62d0f665b47d837df1f"},"ros-humble-rqt-bag-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-python-qt-binding","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosbag2-py","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675852048550,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ceed27c1869372b2a83ee0259d0b30ab","name":"ros-humble-rqt-bag","requires":[],"size":85707,"version":"1.1.4","binstar":{"package_id":"63964bb4e6a2f79ab848612f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a87031f8375c94ac31885e91bca5f3ace8d7fb84b2a28cd5e770e48d597bcdfe"},"ros-humble-rosbridge-server-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosapi","ros-humble-rosbridge-library","ros-humble-rosbridge-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","tornado","twisted"],"build":"py310h927cc32_2","timestamp":1670833936113,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1455a43650d9724bf9c4c6f2b0cbcf2c","name":"ros-humble-rosbridge-server","requires":[],"size":26144,"version":"1.3.1","binstar":{"package_id":"63964bb5ead2dcc8c26069f5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"97443951e932e3cbd04563bb93cba57f3dfc0879cbc133a7f446f8dac1daa0a8"},"ros-humble-rosbridge-server-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosapi","ros-humble-rosbridge-library","ros-humble-rosbridge-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","tornado","twisted"],"build":"py310h927cc32_3","timestamp":1675841598672,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"326c03bc5d453ef1f558088008e74ab8","name":"ros-humble-rosbridge-server","requires":[],"size":26463,"version":"1.3.1","binstar":{"package_id":"63964bb5ead2dcc8c26069f5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f3c441837b7ae62765eb4f519ac4ef7243193bddc503b4474f86305ccec8f3fc"},"ros-humble-moveit-ros-robot-interaction-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-interactive-markers","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670848826585,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"48b55eaa5dec4251079ed7301567b9f2","name":"ros-humble-moveit-ros-robot-interaction","requires":[],"size":200189,"version":"2.5.4","binstar":{"package_id":"63964bb846f81babcae84a33","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7fbba44bb7060c14f2784d29b8f0f5fff4f89be7ea368e97b316f5295ddc7765"},"ros-humble-moveit-ros-robot-interaction-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-interactive-markers","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675851957224,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7d8a382a28eae55b55446174e146ae60","name":"ros-humble-moveit-ros-robot-interaction","requires":[],"size":199640,"version":"2.5.4","binstar":{"package_id":"63964bb846f81babcae84a33","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"43f416df5ccc0222625782eade03d3eedd8f661688d4d7d1cda2d75577c36e1b"},"ros-humble-slam-toolbox-2.6.4-py310h81e1a2f_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","ceres-solver >=2.1.0,<2.2.0a0","eigen >=3.4.0,<3.4.1.0a0","libcxx >=14.0.6","liblapack >=3.9.0,<4.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-builtin-interfaces","ros-humble-interactive-markers","ros-humble-message-filters","ros-humble-nav-msgs","ros-humble-nav2-map-server","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rosidl-default-generators","ros-humble-rviz-common","ros-humble-rviz-default-plugins","ros-humble-rviz-ogre-vendor","ros-humble-rviz-rendering","ros-humble-sensor-msgs","ros-humble-std-msgs","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-tf2-sensor-msgs","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","suitesparse >=5.10.1,<6.0a0","tbb >=2021.8.0","tbb-devel","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py310h81e1a2f_3","timestamp":1678330862828,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e262ccae223d17acb322d159738c26d7","name":"ros-humble-slam-toolbox","requires":[],"size":2419344,"version":"2.6.4","binstar":{"package_id":"63964c4e66b3e4e3de8cae9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cce863fafbf09c1119c9d9387ed956804c064df1c4daa3b5607c98f27ffaef69"},"ros-humble-nav2-dwb-controller-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-costmap-queue","ros-humble-dwb-core","ros-humble-dwb-critics","ros-humble-dwb-msgs","ros-humble-dwb-plugins","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670851329126,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee5291baf243564780f3a2ac16d3fb25","name":"ros-humble-nav2-dwb-controller","requires":[],"size":12116,"version":"1.1.3","binstar":{"package_id":"63964c9046f81babcae880bd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d882b4244a4d437a6600036e67f20f7eee440da60491920a2b1432230b2b6e7"},"ros-humble-nav2-dwb-controller-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-costmap-queue","ros-humble-dwb-core","ros-humble-dwb-critics","ros-humble-dwb-msgs","ros-humble-dwb-plugins","ros-humble-nav-2d-msgs","ros-humble-nav-2d-utils","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675853059723,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"610668a8efae44252e8bc9e83f7f7f9e","name":"ros-humble-nav2-dwb-controller","requires":[],"size":12349,"version":"1.1.5","binstar":{"package_id":"63964c9046f81babcae880bd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5140b82822680828a6e7b89f841c594590c2d307b22f8604edc7af4cc1d372c0"},"ros-humble-moveit-ros-warehouse-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros-humble-warehouse-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670850773593,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a31ff147426fe2cdb4ca2ca624a00a2e","name":"ros-humble-moveit-ros-warehouse","requires":[],"size":576303,"version":"2.5.4","binstar":{"package_id":"63964c9254e9ace8548804d9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"29e97461a8b1b366836347da5116a624b3464e739844178588ffaa12827731e9"},"ros-humble-moveit-ros-warehouse-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros-humble-warehouse-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675852608374,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fa956d656d6fb7a3ab3cc215dbaf05f4","name":"ros-humble-moveit-ros-warehouse","requires":[],"size":588070,"version":"2.5.4","binstar":{"package_id":"63964c9254e9ace8548804d9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d1de293d4075ba645abe8e69cf1122676e7b69228bbac102818a4c0b9ec12144"},"ros-humble-moveit-ros-move-group-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-kinematics","ros-humble-moveit-ros-occupancy-map-monitor","ros-humble-moveit-ros-planning","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670851899920,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"88af684e4fbb237aca74b3ca46e87d3a","name":"ros-humble-moveit-ros-move-group","requires":[],"size":382201,"version":"2.5.4","binstar":{"package_id":"63964c9466b3e4e3de8cbb14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"406a08f55eb2f9b4368e878b5b55b0cc6d927917b480f7503f80787cebe728d4"},"ros-humble-moveit-ros-move-group-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-kinematics","ros-humble-moveit-ros-occupancy-map-monitor","ros-humble-moveit-ros-planning","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-ros-workspace","ros-humble-std-srvs","ros-humble-tf2","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675853555771,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"023476718dae95f0b61f669f5f91cd52","name":"ros-humble-moveit-ros-move-group","requires":[],"size":382507,"version":"2.5.4","binstar":{"package_id":"63964c9466b3e4e3de8cbb14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a6976dbd7737ad9a573a8804204567cc141b8551b7675b06f7efbea79066497e"},"ros-humble-moveit-planners-ompl-2.5.4-py310h256e9aa_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","llvm-openmp >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-planning","ros-humble-ompl","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h256e9aa_2","timestamp":1670848446273,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99a7bb8b7e752411592f44ccac6014e5","name":"ros-humble-moveit-planners-ompl","requires":[],"size":377565,"version":"2.5.4","binstar":{"package_id":"63964c9666b3e4e3de8cbb39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0c3d5fe346aff8f11927635532aa6976991b928fbe41fdc6066197a2e1c75ea6"},"ros-humble-moveit-planners-ompl-2.5.4-py310h256e9aa_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","llvm-openmp >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-planning","ros-humble-ompl","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h256e9aa_3","timestamp":1675851560189,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"76e399e780f6be16ee2bda19591bec0e","name":"ros-humble-moveit-planners-ompl","requires":[],"size":372424,"version":"2.5.4","binstar":{"package_id":"63964c9666b3e4e3de8cbb39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a4bfa94ff394abf62c64c92177914e399ff71bbb893118e8f53b1da8ea2dfe6"},"ros-humble-ros2bag-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosbag2-py","ros-humble-rosbag2-transport","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670844603507,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"28579972d037b000af74558f626ae13c","name":"ros-humble-ros2bag","requires":[],"size":27571,"version":"0.15.3","binstar":{"package_id":"63964c98ead2dcc8c2609624","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"09e97a6735fab88fad56c0172a464da843f8a5605bf2d30c6620412254f0dd46"},"ros-humble-ros2bag-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2cli","ros-humble-rosbag2-py","ros-humble-rosbag2-transport","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675851666420,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f78d204e1b6776eeac3b4ae0eae595e5","name":"ros-humble-ros2bag","requires":[],"size":26701,"version":"0.15.4","binstar":{"package_id":"63964c98ead2dcc8c2609624","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2bb128fe41dbda5e8e5856ff65ed3932b26136a6d744e26c934efa0628c9f2c0"},"ros-humble-ros-ign-gazebo-demos-0.244.9-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-sim-demos","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670848610224,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8f93907cab2a4ca432b1d01cbd977c51","name":"ros-humble-ros-ign-gazebo-demos","requires":[],"size":18079,"version":"0.244.9","binstar":{"package_id":"63964e9a46f81babcae90b4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ca24919c7aa94fb4ac865accbbd239e817f54a5fd835613f14f0f0a85795078d"},"ros-humble-ros-ign-gazebo-demos-0.244.9-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-gz-sim-demos","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675852185584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"755618384d9010fd5efddc24d91086f6","name":"ros-humble-ros-ign-gazebo-demos","requires":[],"size":18443,"version":"0.244.9","binstar":{"package_id":"63964e9a46f81babcae90b4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b0d01acabb89a20af3e719d38b2dd8f94cb5475b2c89f6ce38cbe44085a614fd"},"ros-humble-moveit-ros-benchmarks-2.5.4-py310hec30da9_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-param-builder","ros-humble-moveit-common","ros-humble-moveit-configs-utils","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-warehouse","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310hec30da9_2","timestamp":1670852385496,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c8cbcef7c66db80ccc3802a8f431e335","name":"ros-humble-moveit-ros-benchmarks","requires":[],"size":188330,"version":"2.5.4","binstar":{"package_id":"63964e9da2b7121008ea0efe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a2895f50dd9911e99fcc07acdcaa3c5582a32375e792f14b1d86322c8ee085ea"},"ros-humble-moveit-ros-benchmarks-2.5.4-py310hec30da9_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-param-builder","ros-humble-moveit-common","ros-humble-moveit-configs-utils","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-warehouse","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2-eigen","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310hec30da9_3","timestamp":1675853969736,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"41137425d8f22cc54033838b10f1edd0","name":"ros-humble-moveit-ros-benchmarks","requires":[],"size":188709,"version":"2.5.4","binstar":{"package_id":"63964e9da2b7121008ea0efe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"33a358673f65243db7b0b939ed75c231f546907726b58a38f367248e3c2e886f"},"ros-humble-rosbag2-tests-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670848478722,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b7341044df8c79319186868a616b5a6d","name":"ros-humble-rosbag2-tests","requires":[],"size":11776,"version":"0.15.3","binstar":{"package_id":"63964f126a03c9fad2fb4d51","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f57f4e2b09f688fc06a63c88d960c61729382bc810a5c1f578ad5170d5c3f77c"},"ros-humble-rosbag2-tests-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675853661707,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4172ebb360aeb95c96e5f8e4f1fdcbbb","name":"ros-humble-rosbag2-tests","requires":[],"size":12064,"version":"0.15.4","binstar":{"package_id":"63964f126a03c9fad2fb4d51","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"784a11b1c8eaa73e8dbbb794d69e9d74c2d8d89e7b6301f5c506243ac9ef08f4"},"ros-humble-moveit-ros-planning-interface-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-warehouse","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670853467117,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"664769fa9db8bf0a8478fba64a02b814","name":"ros-humble-moveit-ros-planning-interface","requires":[],"size":279043,"version":"2.5.4","binstar":{"package_id":"63964f15a2b7121008ea2224","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4a4f6a4edb2c45ac23fa38f49ac2629ba5b0dc3c2646cf2eb76cfea5c8a53280"},"ros-humble-moveit-ros-planning-interface-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-warehouse","ros-humble-rclcpp","ros-humble-rclcpp-action","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675854838064,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"71cfd9095b80b23ddcf61f7a3c1486cc","name":"ros-humble-moveit-ros-planning-interface","requires":[],"size":277730,"version":"2.5.4","binstar":{"package_id":"63964f15a2b7121008ea2224","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7395ced2650d39d4c07a11107ac726e60f921ae648a55bce96a29966d3fb5566"},"ros-humble-navigation2-1.1.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav2-amcl","ros-humble-nav2-behavior-tree","ros-humble-nav2-behaviors","ros-humble-nav2-bt-navigator","ros-humble-nav2-collision-monitor","ros-humble-nav2-constrained-smoother","ros-humble-nav2-controller","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-dwb-controller","ros-humble-nav2-lifecycle-manager","ros-humble-nav2-map-server","ros-humble-nav2-msgs","ros-humble-nav2-navfn-planner","ros-humble-nav2-planner","ros-humble-nav2-regulated-pure-pursuit-controller","ros-humble-nav2-rotation-shim-controller","ros-humble-nav2-rviz-plugins","ros-humble-nav2-simple-commander","ros-humble-nav2-smac-planner","ros-humble-nav2-smoother","ros-humble-nav2-theta-star-planner","ros-humble-nav2-util","ros-humble-nav2-velocity-smoother","ros-humble-nav2-voxel-grid","ros-humble-nav2-waypoint-follower","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670853006344,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bf26355ccba4dbed32f0a8dffcce3674","name":"ros-humble-navigation2","requires":[],"size":13927,"version":"1.1.3","binstar":{"package_id":"63964f1646f81babcae93aa9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7be29b642703de3395801e7d39516dd2a6290f3a1b157b6995989b840d840b39"},"ros-humble-navigation2-1.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav2-amcl","ros-humble-nav2-behavior-tree","ros-humble-nav2-behaviors","ros-humble-nav2-bt-navigator","ros-humble-nav2-collision-monitor","ros-humble-nav2-constrained-smoother","ros-humble-nav2-controller","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-dwb-controller","ros-humble-nav2-lifecycle-manager","ros-humble-nav2-map-server","ros-humble-nav2-msgs","ros-humble-nav2-navfn-planner","ros-humble-nav2-planner","ros-humble-nav2-regulated-pure-pursuit-controller","ros-humble-nav2-rotation-shim-controller","ros-humble-nav2-rviz-plugins","ros-humble-nav2-simple-commander","ros-humble-nav2-smac-planner","ros-humble-nav2-smoother","ros-humble-nav2-theta-star-planner","ros-humble-nav2-util","ros-humble-nav2-velocity-smoother","ros-humble-nav2-voxel-grid","ros-humble-nav2-waypoint-follower","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675854369354,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1e78b9b623631c2b30c009f72e849432","name":"ros-humble-navigation2","requires":[],"size":14145,"version":"1.1.5","binstar":{"package_id":"63964f1646f81babcae93aa9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2b8224862d10cfb3fed832eaea5103708a1d5c1982bb3d6cc94ff02c902f7fa6"},"ros-humble-moveit-resources-prbt-moveit-config-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","ros-humble-moveit-resources-prbt-support","ros-humble-moveit-ros-move-group","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-rviz2","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670853581746,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"72c809f9f33dde9ea0aafa7b07bec8a4","name":"ros-humble-moveit-resources-prbt-moveit-config","requires":[],"size":23624,"version":"2.5.4","binstar":{"package_id":"63964f18ead2dcc8c26155c7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b29c1ab9aa4c43f48eaadace3d6acd25a23415bb1de5f9de4a6fb346be2ee705"},"ros-humble-moveit-resources-prbt-moveit-config-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-joint-state-publisher","ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","ros-humble-moveit-resources-prbt-support","ros-humble-moveit-ros-move-group","ros-humble-robot-state-publisher","ros-humble-ros-workspace","ros-humble-rviz2","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675854956018,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"79d73fddac3d6a7de9901cde7ea0396c","name":"ros-humble-moveit-resources-prbt-moveit-config","requires":[],"size":23860,"version":"2.5.4","binstar":{"package_id":"63964f18ead2dcc8c26155c7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"27bf40ccbf77b33f080d7a6a36f21aa1e12f0d08390fb562ba986f517309d53c"},"ros-humble-rosbridge-suite-1.3.1-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosapi","ros-humble-rosbridge-library","ros-humble-rosbridge-server","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670834859004,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4f1d4864d140a450379f930752622302","name":"ros-humble-rosbridge-suite","requires":[],"size":11791,"version":"1.3.1","binstar":{"package_id":"63964f982dd70620557d0eb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"711cacdbd6945387dc5487b8998489e872d41c8f8a3510ecdc2d90e3f0582e1b"},"ros-humble-rosbridge-suite-1.3.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosapi","ros-humble-rosbridge-library","ros-humble-rosbridge-server","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675844750881,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f87c733e903b0788ff813c5a764a7d62","name":"ros-humble-rosbridge-suite","requires":[],"size":12081,"version":"1.3.1","binstar":{"package_id":"63964f982dd70620557d0eb4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"067628d823f01b462a2ce747ecef2b1c494476fdf0b7541b1c00a5862cfd992d"},"ros-humble-nav2-bringup-1.1.6-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-launch-ros","ros-humble-nav2-common","ros-humble-navigation2","ros-humble-ros-workspace","ros-humble-slam-toolbox","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678332132049,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5d81554d7cc11abc2f9058d89031cf0c","name":"ros-humble-nav2-bringup","requires":[],"size":42569,"version":"1.1.6","binstar":{"package_id":"639653576e0eca100b8bb871","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a158847f8eb5c5a51172a084d825bfd0fc84cdb664a8b07c2655c114d261eebd"},"ros-humble-moveit-ros-visualization-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-geometric-shapes","ros-humble-interactive-markers","ros-humble-moveit-common","ros-humble-moveit-ros-planning-interface","ros-humble-moveit-ros-robot-interaction","ros-humble-moveit-ros-warehouse","ros-humble-object-recognition-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rviz2","ros-humble-tf2-eigen","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670855243667,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5cc51d498fd35f6e393df5aa79a0707","name":"ros-humble-moveit-ros-visualization","requires":[],"size":960988,"version":"2.5.4","binstar":{"package_id":"639653594f66fd116f897f9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3dcca369cdc97e49d93976db85197c5c98679bfd7c2bc200449df704880b4ef"},"ros-humble-moveit-ros-visualization-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-geometric-shapes","ros-humble-interactive-markers","ros-humble-moveit-common","ros-humble-moveit-ros-planning-interface","ros-humble-moveit-ros-robot-interaction","ros-humble-moveit-ros-warehouse","ros-humble-object-recognition-msgs","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rviz2","ros-humble-tf2-eigen","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675856426836,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90f494ea506a167eee99450339ecd3dc","name":"ros-humble-moveit-ros-visualization","requires":[],"size":956843,"version":"2.5.4","binstar":{"package_id":"639653594f66fd116f897f9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"20888dd748cb73d6a68e6296354c7b44caabca63ff4c58acd2fe55d3d2e004a0"},"ros-humble-moveit-resources-prbt-pg70-support-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","ros-humble-moveit-resources-prbt-moveit-config","ros-humble-moveit-resources-prbt-support","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670855407628,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"45c3a635572cc7b730d1d22c1a3d0892","name":"ros-humble-moveit-resources-prbt-pg70-support","requires":[],"size":227352,"version":"2.5.4","binstar":{"package_id":"6396535b6d07f25db9fb1013","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b6e492044ca6fcb92ea1d81384ebeb30fab8e71b1612c291415b62c8182a55e"},"ros-humble-moveit-resources-prbt-pg70-support-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin","ros-humble-moveit-resources-prbt-moveit-config","ros-humble-moveit-resources-prbt-support","ros-humble-ros-workspace","ros-humble-xacro","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675856558911,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c544b6de4c556ae8e09f809528ed0da4","name":"ros-humble-moveit-resources-prbt-pg70-support","requires":[],"size":226844,"version":"2.5.4","binstar":{"package_id":"6396535b6d07f25db9fb1013","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"621ff1324dacae27051b7c78cfb6b6c8a3813952bdb9cb2e6176839b40cfe853"},"ros-humble-rosbag2-0.15.3-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2bag","ros-humble-rosbag2-compression","ros-humble-rosbag2-compression-zstd","ros-humble-rosbag2-cpp","ros-humble-rosbag2-py","ros-humble-rosbag2-storage","ros-humble-rosbag2-storage-default-plugins","ros-humble-rosbag2-transport","ros-humble-shared-queues-vendor","ros-humble-sqlite3-vendor","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670851248352,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb8ba1aad1e91eec0203b533b1c64ccb","name":"ros-humble-rosbag2","requires":[],"size":11845,"version":"0.15.3","binstar":{"package_id":"6396535f46f81babcaeaddb9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b93f7da237540cde92ff68f8d8fc1e38d882b081056a6793ae06290544d8d01d"},"ros-humble-rosbag2-0.15.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-ros2bag","ros-humble-rosbag2-compression","ros-humble-rosbag2-compression-zstd","ros-humble-rosbag2-cpp","ros-humble-rosbag2-py","ros-humble-rosbag2-storage","ros-humble-rosbag2-storage-default-plugins","ros-humble-rosbag2-transport","ros-humble-shared-queues-vendor","ros-humble-sqlite3-vendor","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675855050611,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a70390575631e7d85f0c8c61e9baea2","name":"ros-humble-rosbag2","requires":[],"size":12085,"version":"0.15.4","binstar":{"package_id":"6396535f46f81babcaeaddb9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"00c5e0cf8fc22dcc69897c7e4d852b7e352ee51b5f21b47bdc28ce01a555c356"},"ros-humble-turtlebot3-navigation2-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-nav2-bringup","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333653540,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"51e4a6f7f0384a62159b39ea69ab83cf","name":"ros-humble-turtlebot3-navigation2","requires":[],"size":23483,"version":"2.1.5","binstar":{"package_id":"639654cca2b7121008ec4d04","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ba0214a791ed955004481c0c24c88770a15d24b93eed0ab98e393609416894f"},"ros-humble-moveit-ros-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-ros-benchmarks","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-planning-interface","ros-humble-moveit-ros-robot-interaction","ros-humble-moveit-ros-visualization","ros-humble-moveit-ros-warehouse","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670857099064,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8e3ca937fcc5a2dddfe12a5ad78f9d0a","name":"ros-humble-moveit-ros","requires":[],"size":13474,"version":"2.5.4","binstar":{"package_id":"639654cdd9a997aae7a16e15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6ab1b14fe662e70d6abac3b6cd34f6a1a096e63c1b3a8a0fb41512153991b5c9"},"ros-humble-moveit-ros-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-ros-benchmarks","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-planning-interface","ros-humble-moveit-ros-robot-interaction","ros-humble-moveit-ros-visualization","ros-humble-moveit-ros-warehouse","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675858287036,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"75adeb447df5585eb8b286f60a16c140","name":"ros-humble-moveit-ros","requires":[],"size":13679,"version":"2.5.4","binstar":{"package_id":"639654cdd9a997aae7a16e15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7fd618a62bba2dc2aae21d2f1dbe209d5167e3cf551bb26eeab984dba03654d1"},"ros-humble-rqt-bag-plugins-1.1.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pillow","pycairo","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosbag2","ros-humble-rqt-bag","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-plot","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670852698254,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7a34c7d4a2753c19adb3719dbfc1db06","name":"ros-humble-rqt-bag-plugins","requires":[],"size":31703,"version":"1.1.4","binstar":{"package_id":"6396563a54e9ace85488c8ca","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ee56a888454ffbadbf883848309d7aeb35bf8077028b093e4c33c2e518e9913a"},"ros-humble-rqt-bag-plugins-1.1.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","pillow","pycairo","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-rclpy","ros-humble-ros-workspace","ros-humble-rosbag2","ros-humble-rqt-bag","ros-humble-rqt-gui","ros-humble-rqt-gui-py","ros-humble-rqt-plot","ros-humble-sensor-msgs","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675856651867,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"796af8c74fa5b42ab46f3fdf1ffc66cb","name":"ros-humble-rqt-bag-plugins","requires":[],"size":30935,"version":"1.1.4","binstar":{"package_id":"6396563a54e9ace85488c8ca","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"74d6a442ca06440fd31dd66a207950916c7260de3a1a17c309e8fe5e455aedd2"},"ros-humble-pilz-industrial-motion-planner-2.5.4-py310h91007db_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-planning-interface","ros-humble-orocos-kdl-vendor","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-eigen-kdl","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros-humble-tf2-ros","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h91007db_2","timestamp":1670856968438,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3cf950282c6b16c03174dfe4d5855ff2","name":"ros-humble-pilz-industrial-motion-planner","requires":[],"size":372993,"version":"2.5.4","binstar":{"package_id":"6396563bd9a997aae7a1a51b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"06b063a16a4bcdd3515c20a93ec93ae01a4af38537324937959a93a754989324"},"ros-humble-pilz-industrial-motion-planner-2.5.4-py310h91007db_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-eigen3-cmake-module","ros-humble-geometry-msgs","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-msgs","ros-humble-moveit-ros-move-group","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-planning-interface","ros-humble-orocos-kdl-vendor","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-eigen-kdl","ros-humble-tf2-geometry-msgs","ros-humble-tf2-kdl","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h91007db_3","timestamp":1675858075375,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"732ca97981d61b3ed36f9198a120c2e7","name":"ros-humble-pilz-industrial-motion-planner","requires":[],"size":375003,"version":"2.5.4","binstar":{"package_id":"6396563bd9a997aae7a1a51b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c0dfcb619b2ab0f530c97545e48ec95710cd8febd164702216d44ee1179ec7b"},"ros-humble-ros-base-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry2","ros-humble-kdl-parser","ros-humble-robot-state-publisher","ros-humble-ros-core","ros-humble-ros-workspace","ros-humble-rosbag2","ros-humble-urdf","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670852804025,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dd2a86babf6c8ec1523d9427224ffe00","name":"ros-humble-ros-base","requires":[],"size":12918,"version":"0.10.0","binstar":{"package_id":"6396563ed9a997aae7a1a53c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f55e58da4fb6cdf9a4f12702303ceb4a0cd1108999620f93494b4ad214d89b91"},"ros-humble-ros-base-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry2","ros-humble-kdl-parser","ros-humble-robot-state-publisher","ros-humble-ros-core","ros-humble-ros-workspace","ros-humble-rosbag2","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675856733793,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9cc7da6640b9d0a7059f0b7aa3381acf","name":"ros-humble-ros-base","requires":[],"size":13151,"version":"0.10.0","binstar":{"package_id":"6396563ed9a997aae7a1a53c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2cfb6cf59410407cdacc18453a9af4addefa12ff200acdcfa7b532815bb889c8"},"ros-humble-moveit-setup-framework-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-visualization","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-rendering","ros-humble-srdfdom","ros-humble-urdf","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670856409960,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7424ed065359fe0ec1dc0acf9e4f42a7","name":"ros-humble-moveit-setup-framework","requires":[],"size":203912,"version":"2.5.4","binstar":{"package_id":"6396563fbbbc2b1e96c0e5fa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f128df5e90096c5f167641b2beb6758a837cc5b035e56f1eb5c90b3f93bc89e9"},"ros-humble-moveit-setup-framework-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-common","ros-humble-moveit-core","ros-humble-moveit-ros-planning","ros-humble-moveit-ros-visualization","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-rviz-common","ros-humble-rviz-rendering","ros-humble-srdfdom","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675857490596,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"67e74ff0dea2af196184b3002b46c020","name":"ros-humble-moveit-setup-framework","requires":[],"size":205852,"version":"2.5.4","binstar":{"package_id":"6396563fbbbc2b1e96c0e5fa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8d1d66ebaa8989b679d86040cb80d117d0da3bebbf1c42c9a8239e8290ff8016"},"ros-humble-simulation-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-base","ros-humble-ros-ign-bridge","ros-humble-ros-ign-gazebo","ros-humble-ros-ign-image","ros-humble-ros-ign-interfaces","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670854363382,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eedb2d4e4a47e774de4cb57f564af36d","name":"ros-humble-simulation","requires":[],"size":13881,"version":"0.10.0","binstar":{"package_id":"6396588b114c465c985809c1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2c0be18af5b371908edce3ed6e10ac38d20ae9c91eb85523ad3ccd21f751dba8"},"ros-humble-simulation-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-base","ros-humble-ros-ign-bridge","ros-humble-ros-ign-gazebo","ros-humble-ros-ign-image","ros-humble-ros-ign-interfaces","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675858378564,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4a0739f8a1b6e162129a558b61b5aa17","name":"ros-humble-simulation","requires":[],"size":14130,"version":"0.10.0","binstar":{"package_id":"6396588b114c465c985809c1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9af764fdb2596bc3d6e66ba7b55046caa68646fa0297fb6b65730f7cb3ab3093"},"ros-humble-perception-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-common","ros-humble-image-pipeline","ros-humble-image-transport-plugins","ros-humble-laser-filters","ros-humble-laser-geometry","ros-humble-perception-pcl","ros-humble-ros-base","ros-humble-ros-workspace","ros-humble-vision-opencv","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670854457413,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b98918e422b2bc69f8c2e1d1a5b37cca","name":"ros-humble-perception","requires":[],"size":13971,"version":"0.10.0","binstar":{"package_id":"6396588c46f81babcaed0274","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"331d27ba12fda2661e328d514637383e1656a5f85fd71f121d7f6f2cf3f276bd"},"ros-humble-perception-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-image-common","ros-humble-image-pipeline","ros-humble-image-transport-plugins","ros-humble-laser-filters","ros-humble-laser-geometry","ros-humble-perception-pcl","ros-humble-ros-base","ros-humble-ros-workspace","ros-humble-vision-opencv","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675857177335,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f5d762dfba0494a75c6f6acc0e5d14bd","name":"ros-humble-perception","requires":[],"size":14216,"version":"0.10.0","binstar":{"package_id":"6396588c46f81babcaed0274","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6cc974b19c6237c85545f63294c45b7fb58c707828506f43ee420055a4079452"},"ros-humble-moveit-planners-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-planners-ompl","ros-humble-pilz-industrial-motion-planner","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670859736099,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"98a7e113465f9e9fef4b0396e83e6aa8","name":"ros-humble-moveit-planners","requires":[],"size":12683,"version":"2.5.4","binstar":{"package_id":"6396588e46f81babcaed029a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"548b16df4bed5543bc1fec1e0406ab9219abc9aed1c0a9d14c22d828f1aa4936"},"ros-humble-moveit-planners-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-planners-ompl","ros-humble-pilz-industrial-motion-planner","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675889148583,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1685a96c845c8d8a99fc189ca9e1eae9","name":"ros-humble-moveit-planners","requires":[],"size":12936,"version":"2.5.4","binstar":{"package_id":"6396588e46f81babcaed029a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e194a603736000c5794deac776682354492bce6d78e5b30b13690ab4bd2f89e8"},"ros-humble-turtlebot3-2.1.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-turtlebot3-bringup","ros-humble-turtlebot3-cartographer","ros-humble-turtlebot3-description","ros-humble-turtlebot3-example","ros-humble-turtlebot3-navigation2","ros-humble-turtlebot3-node","ros-humble-turtlebot3-teleop","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678333967293,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1d619c40fde93ca933c125427ea07d3b","name":"ros-humble-turtlebot3","requires":[],"size":14558,"version":"2.1.5","binstar":{"package_id":"6396588fa2b7121008ee6edf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f41c62139aa27a1646e93d3fe982e57aaf42466a520a3d855d57b898098a4207"},"ros-humble-rqt-common-plugins-1.2.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rqt-action","ros-humble-rqt-bag","ros-humble-rqt-bag-plugins","ros-humble-rqt-console","ros-humble-rqt-graph","ros-humble-rqt-image-view","ros-humble-rqt-msg","ros-humble-rqt-plot","ros-humble-rqt-publisher","ros-humble-rqt-py-common","ros-humble-rqt-py-console","ros-humble-rqt-reconfigure","ros-humble-rqt-service-caller","ros-humble-rqt-shell","ros-humble-rqt-srv","ros-humble-rqt-topic","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670854270410,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1737f089c60870fdf82052232dd4533a","name":"ros-humble-rqt-common-plugins","requires":[],"size":13552,"version":"1.2.0","binstar":{"package_id":"63965ae4ead2dcc8c264304a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e3c8ffdffc4d925a7a2a928f366f8bd06ec49ff99ae24ef7c438cd27cf1b8557"},"ros-humble-rqt-common-plugins-1.2.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rqt-action","ros-humble-rqt-bag","ros-humble-rqt-bag-plugins","ros-humble-rqt-console","ros-humble-rqt-graph","ros-humble-rqt-image-view","ros-humble-rqt-msg","ros-humble-rqt-plot","ros-humble-rqt-publisher","ros-humble-rqt-py-common","ros-humble-rqt-py-console","ros-humble-rqt-reconfigure","ros-humble-rqt-service-caller","ros-humble-rqt-shell","ros-humble-rqt-srv","ros-humble-rqt-topic","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675858190148,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5d4a439023a06accd6ff3d47d10e8b7","name":"ros-humble-rqt-common-plugins","requires":[],"size":13832,"version":"1.2.0","binstar":{"package_id":"63965ae4ead2dcc8c264304a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48c2929168b4e812ed094d3df280cf2e9436c4402357ed29e176a54f58bc93f8"},"ros-humble-moveit-setup-controllers-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670858466883,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83a2fcc69f548bc58ec06c1099641cf5","name":"ros-humble-moveit-setup-controllers","requires":[],"size":166483,"version":"2.5.4","binstar":{"package_id":"63965ae6a2b7121008efcbd1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"053881a8173d2462989a83857b9c50109c540d08ff083e3eb3919272c0463fca"},"ros-humble-moveit-setup-controllers-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675860984031,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6a4727a702e413d27927dcadfb4f3226","name":"ros-humble-moveit-setup-controllers","requires":[],"size":166841,"version":"2.5.4","binstar":{"package_id":"63965ae6a2b7121008efcbd1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ac73ff751848eac967979f40977a26d8c9ac3e76bca0b8c01757b647e8bc2ca2"},"ros-humble-moveit-setup-app-plugins-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-ros-visualization","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670858860274,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d98539660ff94258d5c4d2bf49aaf177","name":"ros-humble-moveit-setup-app-plugins","requires":[],"size":88273,"version":"2.5.4","binstar":{"package_id":"63965ae7d9a997aae7a31988","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d0f9b5a323ba912bc037d5b00eef357ad2c4e8bea369bbbe0bad77ed72e0007"},"ros-humble-moveit-setup-app-plugins-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-ros-visualization","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675888366638,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7e2ef01a6d8930e1f730003ffec94172","name":"ros-humble-moveit-setup-app-plugins","requires":[],"size":88548,"version":"2.5.4","binstar":{"package_id":"63965ae7d9a997aae7a31988","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b746210ac9539ef9497d57bd85ffc11bb750ea6f0c25d3014151608148533473"},"ros-humble-moveit-setup-core-plugins-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-ros-visualization","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-srdfdom","ros-humble-urdf","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670858006929,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"595499e42d1867daae5fb54d4c9ce582","name":"ros-humble-moveit-setup-core-plugins","requires":[],"size":73289,"version":"2.5.4","binstar":{"package_id":"63965ae9ed6d66bf8f51262a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9bd3fb13e39b84c7301655d26c01993b5c64b2434a22e3897b520514c0dbd3bd"},"ros-humble-moveit-setup-core-plugins-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-moveit-ros-visualization","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-srdfdom","ros-humble-urdf","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675860458382,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d32fba15e2e30c9121c39d7e48be2f13","name":"ros-humble-moveit-setup-core-plugins","requires":[],"size":74646,"version":"2.5.4","binstar":{"package_id":"63965ae9ed6d66bf8f51262a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b20eb0430c61a088baad49d83f77f12fda0ea8ef09945ace6fe4dc5439b2dbaf"},"ros-humble-moveit-setup-srdf-plugins-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670859635096,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"05319a4480815b93e8279144d026f454","name":"ros-humble-moveit-setup-srdf-plugins","requires":[],"size":341630,"version":"2.5.4","binstar":{"package_id":"63965aeb6d07f25db9fba7a4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"15dc644f52a237903df80b8faf2e5768fe884daa26f103d7754a317fd6436d36"},"ros-humble-moveit-setup-srdf-plugins-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-setup-framework","ros-humble-pluginlib","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675889029516,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"76877ae706a5339163b207398740df69","name":"ros-humble-moveit-setup-srdf-plugins","requires":[],"size":342642,"version":"2.5.4","binstar":{"package_id":"63965aeb6d07f25db9fba7a4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8b2e6c14f7625fb6e537d5b0ba6c8bd80eb8dfd325bb2ef40f5c2cac7aa7cd9"},"ros-humble-desktop-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-cpp","ros-humble-action-tutorials-interfaces","ros-humble-action-tutorials-py","ros-humble-angles","ros-humble-composition","ros-humble-demo-nodes-cpp","ros-humble-demo-nodes-cpp-native","ros-humble-demo-nodes-py","ros-humble-depthimage-to-laserscan","ros-humble-dummy-map-server","ros-humble-dummy-robot-bringup","ros-humble-dummy-sensors","ros-humble-examples-rclcpp-minimal-action-client","ros-humble-examples-rclcpp-minimal-action-server","ros-humble-examples-rclcpp-minimal-client","ros-humble-examples-rclcpp-minimal-composition","ros-humble-examples-rclcpp-minimal-publisher","ros-humble-examples-rclcpp-minimal-service","ros-humble-examples-rclcpp-minimal-subscriber","ros-humble-examples-rclcpp-minimal-timer","ros-humble-examples-rclcpp-multithreaded-executor","ros-humble-examples-rclpy-executors","ros-humble-examples-rclpy-minimal-action-client","ros-humble-examples-rclpy-minimal-action-server","ros-humble-examples-rclpy-minimal-client","ros-humble-examples-rclpy-minimal-publisher","ros-humble-examples-rclpy-minimal-service","ros-humble-examples-rclpy-minimal-subscriber","ros-humble-image-tools","ros-humble-intra-process-demo","ros-humble-joy","ros-humble-lifecycle","ros-humble-logging-demo","ros-humble-pcl-conversions","ros-humble-pendulum-msgs","ros-humble-quality-of-service-demo-cpp","ros-humble-quality-of-service-demo-py","ros-humble-ros-base","ros-humble-ros-workspace","ros-humble-rqt-common-plugins","ros-humble-rviz-default-plugins","ros-humble-rviz2","ros-humble-teleop-twist-joy","ros-humble-teleop-twist-keyboard","ros-humble-topic-monitor","ros-humble-turtlesim","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670856283285,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb8860d22c5d302b23eec3c926a252be","name":"ros-humble-desktop","requires":[],"size":15559,"version":"0.10.0","binstar":{"package_id":"63965d4646f81babcaeedbeb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"638de030dde26742569c53da91324affeaa7407ec4c2d9f5a7c1442060de40d8"},"ros-humble-desktop-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-action-tutorials-cpp","ros-humble-action-tutorials-interfaces","ros-humble-action-tutorials-py","ros-humble-angles","ros-humble-composition","ros-humble-demo-nodes-cpp","ros-humble-demo-nodes-cpp-native","ros-humble-demo-nodes-py","ros-humble-depthimage-to-laserscan","ros-humble-dummy-map-server","ros-humble-dummy-robot-bringup","ros-humble-dummy-sensors","ros-humble-examples-rclcpp-minimal-action-client","ros-humble-examples-rclcpp-minimal-action-server","ros-humble-examples-rclcpp-minimal-client","ros-humble-examples-rclcpp-minimal-composition","ros-humble-examples-rclcpp-minimal-publisher","ros-humble-examples-rclcpp-minimal-service","ros-humble-examples-rclcpp-minimal-subscriber","ros-humble-examples-rclcpp-minimal-timer","ros-humble-examples-rclcpp-multithreaded-executor","ros-humble-examples-rclpy-executors","ros-humble-examples-rclpy-minimal-action-client","ros-humble-examples-rclpy-minimal-action-server","ros-humble-examples-rclpy-minimal-client","ros-humble-examples-rclpy-minimal-publisher","ros-humble-examples-rclpy-minimal-service","ros-humble-examples-rclpy-minimal-subscriber","ros-humble-image-tools","ros-humble-intra-process-demo","ros-humble-joy","ros-humble-lifecycle","ros-humble-logging-demo","ros-humble-pcl-conversions","ros-humble-pendulum-msgs","ros-humble-quality-of-service-demo-cpp","ros-humble-quality-of-service-demo-py","ros-humble-ros-base","ros-humble-ros-workspace","ros-humble-rqt-common-plugins","ros-humble-rviz-default-plugins","ros-humble-rviz2","ros-humble-teleop-twist-joy","ros-humble-teleop-twist-keyboard","ros-humble-topic-monitor","ros-humble-turtlesim","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675889259823,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"01b6f255be62efbd93e883c2c5bc7813","name":"ros-humble-desktop","requires":[],"size":15735,"version":"0.10.0","binstar":{"package_id":"63965d4646f81babcaeedbeb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"eaa9a6b0c972472c3ebc48566f61e086a28928a5037ce54c166021fb55967a71"},"ros-humble-desktop-full-0.10.0-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-desktop","ros-humble-perception","ros-humble-ros-ign-gazebo-demos","ros-humble-ros-workspace","ros-humble-simulation","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble"],"build":"py310h927cc32_2","timestamp":1670857208095,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae021d10e01a5a86bc592fb2c58eb9e5","name":"ros-humble-desktop-full","requires":[],"size":15368,"version":"0.10.0","binstar":{"package_id":"63965d46bbbc2b1e96c2cba2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e58e51be6e19ce2d34fae34db8e05235183b18555947406928eaf70eb17c324d"},"ros-humble-desktop-full-0.10.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-desktop","ros-humble-perception","ros-humble-ros-ign-gazebo-demos","ros-humble-ros-workspace","ros-humble-simulation","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1675890642493,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a72d6e94ab024adfe9f56680d33a3898","name":"ros-humble-desktop-full","requires":[],"size":15586,"version":"0.10.0","binstar":{"package_id":"63965d46bbbc2b1e96c2cba2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45fb73dfd2d4da7b48530676ac202d0e39931e78433b1068a7e1bccffc2167ce"},"ros-humble-moveit-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-core","ros-humble-moveit-planners","ros-humble-moveit-plugins","ros-humble-moveit-ros","ros-humble-moveit-setup-assistant","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670860587542,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"56bb50f427c3d10364def289703527ee","name":"ros-humble-moveit","requires":[],"size":13695,"version":"2.5.4","binstar":{"package_id":"63965d474fd2d87ac8f8be4f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5ecda213c81e57acdc803220383b8f69bae31bac56516558b05717567defcdce"},"ros-humble-moveit-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-moveit-core","ros-humble-moveit-planners","ros-humble-moveit-plugins","ros-humble-moveit-ros","ros-humble-moveit-setup-assistant","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675890798669,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"66821eabe1b58902b7e7a24224a9e76f","name":"ros-humble-moveit","requires":[],"size":13876,"version":"2.5.4","binstar":{"package_id":"63965d474fd2d87ac8f8be4f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5448026b9bd54006d681d1050e02e3c8ea0efc4e1c888d3ad67883a576144093"},"ros-humble-moveit-setup-assistant-2.5.4-py310h927cc32_2.tar.bz2":{"build_number":2,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.6,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-moveit-setup-app-plugins","ros-humble-moveit-setup-controllers","ros-humble-moveit-setup-core-plugins","ros-humble-moveit-setup-framework","ros-humble-moveit-setup-srdf-plugins","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.2.* humble","ros2-distro-mutex 0.2.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_2","timestamp":1670860480661,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae16089dd97ae26b2ffd359ac5af6d31","name":"ros-humble-moveit-setup-assistant","requires":[],"size":307608,"version":"2.5.4","binstar":{"package_id":"63965d4846f81babcaeedc4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8f5fd074a4c13842bbbc92bb3e59c84c214aca4d6b0747a2044b0984bc025737"},"ros-humble-moveit-setup-assistant-2.5.4-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-moveit-setup-app-plugins","ros-humble-moveit-setup-controllers","ros-humble-moveit-setup-core-plugins","ros-humble-moveit-setup-framework","ros-humble-moveit-setup-srdf-plugins","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11","xorg-libxext"],"build":"py310h927cc32_3","timestamp":1675890444428,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c950ea624306e19717ddd33f0ca2f9a","name":"ros-humble-moveit-setup-assistant","requires":[],"size":308906,"version":"2.5.4","binstar":{"package_id":"63965d4846f81babcaeedc4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"950881a6ce9297a18d1c55c56a0e893da557b4ad67c99155a1991f42ce3736ff"},"ros-humble-gazebo-ros-pkgs-3.7.0-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-gazebo-dev","ros-humble-gazebo-msgs","ros-humble-gazebo-plugins","ros-humble-gazebo-ros","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1677543899255,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0c3a3f4bfb4dcb5d9027a81534513b0a","name":"ros-humble-gazebo-ros-pkgs","requires":[],"size":13935,"version":"3.7.0","binstar":{"package_id":"63967fd44f66fd116f9dea7d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"28f6bf764771ee8996a6f37703b3408a285208f7a6737ea3a490a66d8f37a214"},"ros-humble-turtlebot3-gazebo-2.2.5-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-gazebo-ros-pkgs","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-sensor-msgs","ros-humble-tf2","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1678330473690,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fa3050bf952f7a3d146684d6f584f7c6","name":"ros-humble-turtlebot3-gazebo","requires":[],"size":238626,"version":"2.2.5","binstar":{"package_id":"6396923546bec18b890d6837","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45575037a1fc75c57d5c9a2fdf76f1a1e62e87c67a21ea05d5acf8a0def06484"},"ros-noetic-eigenpy-2.8.1-h0f4a31f_20.tar.bz2":{"build_number":20,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["eigenpy 2.8.1*"],"build":"h0f4a31f_20","timestamp":1674170856633,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d3a6aa7b202694bcc7ab68c94e78f421","name":"ros-noetic-eigenpy","requires":[],"size":3460,"version":"2.8.1","binstar":{"package_id":"63c9c3f1989160afcf8af466","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f3c55bdfa3478d5f3665f13011bdd6755575b8fd69600fe8c8cceede72473ba"},"ros-noetic-eigenpy-3.1.0-h0f4a31f_21.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"h0f4a31f_21","build_number":21,"depends":["eigenpy 3.1.0*"],"platform":"osx","timestamp":1706524806048,"md5":"8c6a4ae647f32f14ee996c2201f0c619","name":"ros-noetic-eigenpy","requires":[],"size":3859,"version":"3.1.0","binstar":{"package_id":"63c9c3f1989160afcf8af466","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8970ee9b8516a17a9e888c7884c1977f1807e4d5758af38d35c2c437ec667e6d"},"ros-distro-mutex-0.4.0-noetic.tar.bz2":{"constrains":["boost-cpp 1.78.*","pcl 1.12.*","gazebo 11.*","ogre 1.10.12*","libpqxx 6.*"],"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":[],"build":"noetic","timestamp":1674170812820,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b12384faad53560976e37896d0c2d3e2","name":"ros-distro-mutex","requires":[],"size":3647,"version":"0.4.0","binstar":{"package_id":"63c9c3f2be293b9e16e76b6a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"82da7408be5b1608c813b15cf24f2491f3bf5e77c232220ef997e741d37ed6bd"},"ros-distro-mutex-0.5.0-noetic.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"noetic","build_number":4,"constrains":["gazebo 11.*","ogre 1.10.12*","libpqxx 7.8.*"],"depends":[],"license":"BSD-3-Clause","platform":"osx","timestamp":1706494884561,"md5":"3246943f32c72ad72668ff7fcee336f5","name":"ros-distro-mutex","requires":[],"size":3993,"version":"0.5.0","binstar":{"package_id":"63c9c3f2be293b9e16e76b6a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"17f247d3e6accb334fe8e479146403ab11602995911dfdd84a85d45d4763eb0c"},"ros-noetic-ruckig-0.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674171338455,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0623e0cf94e1f2af4b9b1b92f4e7a534","name":"ros-noetic-ruckig","requires":[],"size":67421,"version":"0.9.2","binstar":{"package_id":"63c9c72b912363225b7dc82b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fdc018ffb0ec961365e2870e896d005ede9d9aba1df48347359a93e6a02b38cc"},"ros-noetic-ruckig-0.9.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706523713630,"md5":"29cd99874668bf5a25995cb67dae643d","name":"ros-noetic-ruckig","requires":[],"size":68820,"version":"0.9.2","binstar":{"package_id":"63c9c72b912363225b7dc82b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7fcfee46a4999280df4489f5ca90344721943340f11234401ddbb6502aa7ed15"},"ros-noetic-ompl-1.6.0-py39h2871a0f_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","eigen","flann >=1.9.1,<1.9.2.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","ompl >=1.5.2,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h2871a0f_5","timestamp":1674172445407,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c5594ee215a326829efa614941f38682","name":"ros-noetic-ompl","requires":[],"size":1972182,"version":"1.6.0","binstar":{"package_id":"63c9c72d2e1172ba3666a0ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6763e74f453acaf4d546fad3b01743a660dc60de769b91e41629442d3808fdf5"},"ros-noetic-ompl-1.6.0-py311h367032c_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h367032c_8","build_number":8,"depends":["boost","eigen","flann >=1.9.2,<1.9.3.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","ompl >=1.5.2,<1.6.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706524788783,"md5":"399d81e1dbcf4cf98d993bd8d0cb0871","name":"ros-noetic-ompl","requires":[],"size":2018494,"version":"1.6.0","binstar":{"package_id":"63c9c72d2e1172ba3666a0ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0f7cd24871dcd7fba1ed55912581b84fe2d3d182b5830f76ed313d8a9711700c"},"ros-noetic-catkin-0.8.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["catkin_pkg","cmake","empy","gmock","gtest","libcxx >=14.0.6","nose","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","setuptools"],"build":"py39h46ec4ef_5","timestamp":1674171168287,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90fc9fd829d8f1902f707aceba522e96","name":"ros-noetic-catkin","requires":[],"size":135361,"version":"0.8.10","binstar":{"package_id":"63c9c72fcd65eb0e145b8aee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a2fcb938613b6b7b2454a07fc3e7ada162e10c44b2710961d468c45c5417a0b8"},"ros-noetic-catkin-0.8.10-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["catkin_pkg","cmake","empy","gmock","gtest >=1.14.0,<1.14.1.0a0","libcxx >=15","nose","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","setuptools"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706523625989,"md5":"096ddf826730c27ce6b284e98a2c30a8","name":"ros-noetic-catkin","requires":[],"size":161013,"version":"0.8.10","binstar":{"package_id":"63c9c72fcd65eb0e145b8aee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"671199cb6053b14c6d76da68abb31cfc3a8792c0d43c776c4a8533bb5d32497d"},"ros-noetic-roslint-0.12.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173054453,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ce1b8d5378afdddfc5c01e91f202e821","name":"ros-noetic-roslint","requires":[],"size":154625,"version":"0.12.0","binstar":{"package_id":"63c9c818912363225b7dfac6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"52f7211d9d206d4818a4318149279812acc7b76225d542430c7c806d8858836d"},"ros-noetic-roslint-0.12.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525786497,"md5":"90de169270d5b87b0850b79b75678721","name":"ros-noetic-roslint","requires":[],"size":200184,"version":"0.12.0","binstar":{"package_id":"63c9c818912363225b7dfac6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c68214a91358cecbdfb4906a0d6b6548201e1f772aea3ffa6ea1538e67063326"},"ros-noetic-rosclean-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674172870026,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b61c1910adaf52c75d41576353af3209","name":"ros-noetic-rosclean","requires":[],"size":18307,"version":"1.15.8","binstar":{"package_id":"63c9c819dbdf733521ec76b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"85314c64b6ab8bc53d5d87469847ade5ae89e97212021d2f7b8bf455035e5fc9"},"ros-noetic-rosclean-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525651306,"md5":"7764030d4f4b486eb03f86bbd3c2a476","name":"ros-noetic-rosclean","requires":[],"size":21682,"version":"1.15.8","binstar":{"package_id":"63c9c819dbdf733521ec76b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45222b2363b4699cedb048361ca91220e0a6479d92a78bb5e1337d39b3da1eb3"},"ros-noetic-media-export-0.3.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173140845,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7b875524968680f110a462d6ab9544ef","name":"ros-noetic-media-export","requires":[],"size":10449,"version":"0.3.0","binstar":{"package_id":"63c9c81a8ff1ad27427b5f62","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"90f627690e9ff310ec8c83df2b4089b4e6cc845ace751aa02343e4bc01b612f9"},"ros-noetic-media-export-0.3.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525853357,"md5":"e01bdd44bc72e4d33d25886d40d46ac3","name":"ros-noetic-media-export","requires":[],"size":11157,"version":"0.3.0","binstar":{"package_id":"63c9c81a8ff1ad27427b5f62","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d6c72dbad57d69f794f1a5e0d3812e94d1235ed56c701649276b1d17d4931c99"},"ros-noetic-rosgraph-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","netifaces","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674172764489,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"acd002388f4e397ab46b9eb3f3936f91","name":"ros-noetic-rosgraph","requires":[],"size":56395,"version":"1.15.15","binstar":{"package_id":"63c9c81bc37c80a75b313ba4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b309114f76ae2272835df68cf9620a82dd72e643c1fb1acc30cafe0e9af4f529"},"ros-noetic-rosgraph-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","netifaces","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525572868,"md5":"5a52050e252fb438120e812dfb476c99","name":"ros-noetic-rosgraph","requires":[],"size":72703,"version":"1.16.0","binstar":{"package_id":"63c9c81bc37c80a75b313ba4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"56c0825e705263130eee7cbf9a5d39bd8122e2a49df85b03214f1978cb2f244c"},"ros-noetic-urdf-parser-plugin-1.13.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","urdfdom_headers"],"build":"py39h46ec4ef_5","timestamp":1674172965013,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cfdeb95492c38c4ea5275d3736d21c24","name":"ros-noetic-urdf-parser-plugin","requires":[],"size":11815,"version":"1.13.2","binstar":{"package_id":"63c9c81c912363225b7dfb34","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9dd2c168c42ad652bd8525ad3c152ec653a782a05b8e7b9304c1d0b535a872d7"},"ros-noetic-urdf-parser-plugin-1.13.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","urdfdom_headers"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525720293,"md5":"8d2fdf7b5f53f54b2eade6b888077a29","name":"ros-noetic-urdf-parser-plugin","requires":[],"size":12541,"version":"1.13.2","binstar":{"package_id":"63c9c81c912363225b7dfb34","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c09435f97bf4395b9018960c5e15d8a167331c5aa1b8eb71d1373a519dac655a"},"ros-noetic-ros-environment-1.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173008091,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0cd58eeee9a5de95a87ea671aacab595","name":"ros-noetic-ros-environment","requires":[],"size":11950,"version":"1.3.2","binstar":{"package_id":"63c9c82820c05f5e390671e6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1c08488174aa5bb23970492bc42d05f3feb94fbc1b3b8494998d1a0fda4c9a17"},"ros-noetic-ros-environment-1.3.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525746652,"md5":"a1a4f054c94772433cdadb2fa4492ccb","name":"ros-noetic-ros-environment","requires":[],"size":12719,"version":"1.3.2","binstar":{"package_id":"63c9c82820c05f5e390671e6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d95864cdb0fb5e2334da88201b64fb0a523ab004546653267c074f8ae0c508e"},"ros-noetic-rosmake-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674173191332,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"90514610d59d88b972b04511e856a68a","name":"ros-noetic-rosmake","requires":[],"size":40204,"version":"1.15.8","binstar":{"package_id":"63c9c82a2ff78d332e691027","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1e56e23d5f5a9307243dce80c75574d6c91b8f9fdb29c8587ba4017148974ccd"},"ros-noetic-rosmake-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525896001,"md5":"6a2a5b6997f10f9bf7487884c8a95275","name":"ros-noetic-rosmake","requires":[],"size":54366,"version":"1.15.8","binstar":{"package_id":"63c9c82a2ff78d332e691027","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"34e1efe6ce31dac16b03705053e9e9b7e4e0d9921d1ef6a8c40d65e24cded426"},"ros-noetic-genmsg-0.6.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["empy","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin"],"build":"py39h46ec4ef_5","timestamp":1674172922886,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"50b35b0c86dc585d7775bcf14b885044","name":"ros-noetic-genmsg","requires":[],"size":43840,"version":"0.6.0","binstar":{"package_id":"63c9c82b59c09271a43e8d14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"37323b007bbb3efd523d662263c20c4ec55dd46bdcdfb658acb92af23a3d274b"},"ros-noetic-genmsg-0.6.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["empy","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525675633,"md5":"58d936215b1d167aa85b177ef72873df","name":"ros-noetic-genmsg","requires":[],"size":53900,"version":"0.6.0","binstar":{"package_id":"63c9c82b59c09271a43e8d14","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"66762a5bb22e96bee7c6966c3609d250c23957a0c276116dc8f9165bcb2f0345"},"ros-noetic-cpp-common-0.7.2-py39h112d239_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h112d239_5","timestamp":1674172829269,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ff4e9deb97fad349532c4f5713b694ec","name":"ros-noetic-cpp-common","requires":[],"size":30568,"version":"0.7.2","binstar":{"package_id":"63c9c82d5a31eb90f69af2fd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"092445ffe958d25cef1cc58d0c3627e0991ccf5988ce96a5a037f89b4c4df3fc"},"ros-noetic-cpp-common-0.7.3-py311h00a3625_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h00a3625_8","build_number":8,"depends":["boost-cpp","console_bridge >=1.0.2,<1.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525604017,"md5":"e3771979d3667440435bde4406cd04dd","name":"ros-noetic-cpp-common","requires":[],"size":31698,"version":"0.7.3","binstar":{"package_id":"63c9c82d5a31eb90f69af2fd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a27f92fe1e5e4416aff0906e781a5c1d78fb1d7d5906b0a9329a25f1714b586a"},"ros-noetic-cmake-modules-0.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173094400,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eee73ac76a956da2cb68625366431c90","name":"ros-noetic-cmake-modules","requires":[],"size":23035,"version":"0.5.0","binstar":{"package_id":"63c9c82f2ff78d332e6910df","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a754427a81ea9752f3404b55a3faa3dbc341fce4688eefdf169e1780dc5edf3"},"ros-noetic-cmake-modules-0.5.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525812905,"md5":"67e504fcc5dc11264b3d62afcf45f985","name":"ros-noetic-cmake-modules","requires":[],"size":23720,"version":"0.5.0","binstar":{"package_id":"63c9c82f2ff78d332e6910df","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"81ed446dc87848b216dc04702e872a7cfb9c297d6871ee4157ec4d017f1f08b9"},"ros-noetic-octomap-1.9.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin"],"build":"py39h46ec4ef_5","timestamp":1674173267168,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4e37d2ca0d5fb507ae6a7726c447bb1c","name":"ros-noetic-octomap","requires":[],"size":296202,"version":"1.9.8","binstar":{"package_id":"63c9c85aa64974fd099c60c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2a129024fb7bb31d003f8a5cee6793219cbb6bbfa14a11287a0fa6f0a55aeceb"},"ros-noetic-octomap-1.9.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525544286,"md5":"3c96977a415e9f6fb3175acbf907d189","name":"ros-noetic-octomap","requires":[],"size":322778,"version":"1.9.8","binstar":{"package_id":"63c9c85aa64974fd099c60c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f75dfa7225922fd0f614a416070a4dbaf11b273827dccc281035e83794d0ef64"},"ros-noetic-rosbag-migration-rule-1.0.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674172778160,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"59c1098db5ff5505a0f764a45974bdba","name":"ros-noetic-rosbag-migration-rule","requires":[],"size":10495,"version":"1.0.1","binstar":{"package_id":"63c9c85cc37c80a75b3150e9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9e2bc2e0de26ae218bf9f4f6164bb3769c0ffe5d4c665ddf4638b50d0c41825c"},"ros-noetic-rosbag-migration-rule-1.0.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525364695,"md5":"9ae4d69fa7ee12f1aa24067efadf9094","name":"ros-noetic-rosbag-migration-rule","requires":[],"size":11194,"version":"1.0.1","binstar":{"package_id":"63c9c85cc37c80a75b3150e9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1fecfc6787228192be7acae26732cfabea4ba96db059e71a5912d260a1d6a821"},"ros-noetic-random-numbers-0.3.2-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h83befe1_5","timestamp":1674173067512,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"427aea88786a88c0f9ae3356bcdf5074","name":"ros-noetic-random-numbers","requires":[],"size":29930,"version":"0.3.2","binstar":{"package_id":"63c9c85ddbdf733521ec9d2b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4cb022bbd86906f5b766f8f0f09da5fb9a4849f29ec683966dd8d1ba72e9a970"},"ros-noetic-random-numbers-0.3.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525657104,"md5":"86240dc95493e73e4ed027417f7bc084","name":"ros-noetic-random-numbers","requires":[],"size":30929,"version":"0.3.2","binstar":{"package_id":"63c9c85ddbdf733521ec9d2b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1fbd2cd4819316bfc422d6dd6ccdb7c63ad3519397e32e8e18c11f90b511ad00"},"ros-noetic-moveit-resources-panda-description-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674172886132,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"49d6263833edf2ba1ece1114f9f15960","name":"ros-noetic-moveit-resources-panda-description","requires":[],"size":3801671,"version":"0.8.2","binstar":{"package_id":"63c9c85f0273ee116afd3b87","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ed1c6f92dfa1eea0d939e2372d10ab08ca2a31e7cb86efbcdaf9696b1c5caac6"},"ros-noetic-moveit-resources-panda-description-0.8.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706672155143,"md5":"323669d3cbe7cf825fe0e4d89304843f","name":"ros-noetic-moveit-resources-panda-description","requires":[],"size":3806566,"version":"0.8.3","binstar":{"package_id":"63c9c85f0273ee116afd3b87","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5f2e9ab35b7a3fc79e27b1b411af1b779ce684af69fe7e10101835c6597632d"},"ros-noetic-pybind11-catkin-2.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173358408,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"04ea84726e820d653e033840b5c3aa04","name":"ros-noetic-pybind11-catkin","requires":[],"size":123290,"version":"2.5.0","binstar":{"package_id":"63c9c8612ff78d332e691d94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d1a1ecc97d55a14eff25b4166f1d8b468f75369b1dd2acdb50a32d8c3a72eaa"},"ros-noetic-pybind11-catkin-2.10.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525736199,"md5":"ce778a898dbe2467b046155221340cd1","name":"ros-noetic-pybind11-catkin","requires":[],"size":156856,"version":"2.10.3","binstar":{"package_id":"63c9c8612ff78d332e691d94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d7a0e1e3e232340659c29ccfa039112d53ae1f05b6b957891c211b6bc010a89"},"ros-noetic-moveit-resources-fanuc-description-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173002364,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d4af14ff2e801ae2795fd7e097e90565","name":"ros-noetic-moveit-resources-fanuc-description","requires":[],"size":187244,"version":"0.8.2","binstar":{"package_id":"63c9c8a1c37c80a75b315f94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"69b2e9aba9f75af471f22f24a63c415887309c1837ac61256b8a93ef3006a516"},"ros-noetic-moveit-resources-fanuc-description-0.8.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525450984,"md5":"745d5b554f206983249a24e35c4ec320","name":"ros-noetic-moveit-resources-fanuc-description","requires":[],"size":187772,"version":"0.8.3","binstar":{"package_id":"63c9c8a1c37c80a75b315f94","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b389505ecee41b58e2ac20b81c0fd2a1c87400a80c1813b6a331a96348d3f039"},"ros-noetic-gazebo-dev-2.9.2-py39hc0211de_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gazebo >=11.12.0,<12.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","tbb >=2021.7.0"],"build":"py39hc0211de_5","timestamp":1674173284050,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5b30742cf6f9997da8dc03786660bb69","name":"ros-noetic-gazebo-dev","requires":[],"size":13690,"version":"2.9.2","binstar":{"package_id":"63c9c8a2dbdf733521ecb1d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a2c8ffb395208d269268d6cc94520ff965721152890b36631f7d151235cfd32"},"ros-noetic-gazebo-dev-2.9.2-py311hffdb928_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hffdb928_8","build_number":8,"depends":["gazebo >=11.14.0,<12.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","tbb >=2021.11.0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525719890,"md5":"84d536f578b7812691752125408cf48c","name":"ros-noetic-gazebo-dev","requires":[],"size":14863,"version":"2.9.2","binstar":{"package_id":"63c9c8a2dbdf733521ecb1d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"190caf81c5c83eb9e5f1a6bb51c7ae1844bea5eef577cd5cc5d9a9a620f5654f"},"ros-noetic-smclib-1.8.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674172902666,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e32283026ea03ecf9bafa185ac76cc44","name":"ros-noetic-smclib","requires":[],"size":19241,"version":"1.8.6","binstar":{"package_id":"63c9c8a32b70bce830752c24","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5fc58d0d6019de11cd3b3b2057005d996042d2779c752da2d127e5070047ca13"},"ros-noetic-smclib-1.8.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525522458,"md5":"af172f457c6bb54e56fea5d8295f5eaa","name":"ros-noetic-smclib","requires":[],"size":20843,"version":"1.8.6","binstar":{"package_id":"63c9c8a32b70bce830752c24","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"508e334fdc1e655218ed0bf5381662100fa86e50bbce638ad43d81929034d015"},"ros-noetic-moveit-resources-pr2-description-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674172783929,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c48025e31afd0e9d0f3522ffd780cae4","name":"ros-noetic-moveit-resources-pr2-description","requires":[],"size":25893888,"version":"0.8.2","binstar":{"package_id":"63c9c8a7dbdf733521ecb664","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"44a720a507e60474ff5c6d5f2a3556381367a40e20b1b43dc9debf78d511595b"},"ros-noetic-moveit-resources-pr2-description-0.8.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525809340,"md5":"95dd0ce36c81cd7c2ffcff4f9f6d1d3c","name":"ros-noetic-moveit-resources-pr2-description","requires":[],"size":25853884,"version":"0.8.3","binstar":{"package_id":"63c9c8a7dbdf733521ecb664","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"854b628674b1ab7f3f85fbbe7b54232289285757eddb3b4fa7c9f07b086e0505"},"ros-noetic-smach-2.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674175933155,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0ed1b66415c3514a8c2a191a9ecd225","name":"ros-noetic-smach","requires":[],"size":42860,"version":"2.5.0","binstar":{"package_id":"63c9c8a92ff78d332e693341","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b43b72443a3feb4393a71d0253eca6d6f5d862df9447f54bfedf9f98ad47b27d"},"ros-noetic-smach-2.5.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527443791,"md5":"31a01139b5a31a3e113af6f9ec07e5a4","name":"ros-noetic-smach","requires":[],"size":56471,"version":"2.5.2","binstar":{"package_id":"63c9c8a92ff78d332e693341","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"11d692613e2e29ecc320fde4e50035a74a0d69cfb460f05be4573fc9796cbe5e"},"ros-noetic-gl-dependency-1.1.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyqt","pyqt-builder","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674176041129,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d35ff1201cbd029b8b4b1af8fa21044e","name":"ros-noetic-gl-dependency","requires":[],"size":10848,"version":"1.1.2","binstar":{"package_id":"63c9c8b1dbdf733521ecb7b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a2abbe2d92edaa0cfe60e873963e349637829a1e9569305232d6f3080c8559eb"},"ros-noetic-gl-dependency-1.1.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","pyqt","pyqt-builder","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527525087,"md5":"3479c065cf5eabba0640f92b9ebbc714","name":"ros-noetic-gl-dependency","requires":[],"size":11558,"version":"1.1.2","binstar":{"package_id":"63c9c8b1dbdf733521ecb7b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"86d662f3957a61cc82f96b5a51e292eee7835d6815b5659777b4b41dddc33fd1"},"ros-noetic-openslam-gmapping-0.2.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674174763991,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d7871b6cc65ae59e949c37ecbcd5a1af","name":"ros-noetic-openslam-gmapping","requires":[],"size":209744,"version":"0.2.1","binstar":{"package_id":"63c9caba2ff78d332e6a7522","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4de2219273ab2465123669d80a95b88f5db89b64ce3e2b990c104ec8b9d48216"},"ros-noetic-rosboost-cfg-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674175525219,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"32e9af4d622e05f13f16f43a24e8a84d","name":"ros-noetic-rosboost-cfg","requires":[],"size":20433,"version":"1.15.8","binstar":{"package_id":"63c9cacf8ff1ad27427d3ceb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7d792aaafad854ac506ab1ebd97d8e2bf744f74a35e001bacd3d4c1d2c969ac0"},"ros-noetic-rosboost-cfg-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706526093134,"md5":"5189d8be63917d3c8e778ebc42e1849d","name":"ros-noetic-rosboost-cfg","requires":[],"size":25350,"version":"1.15.8","binstar":{"package_id":"63c9cacf8ff1ad27427d3ceb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"73901d85ae3b9e93fe79c6a65339d700e9a45d45be2b3a5db5d3c1c1647b29fe"},"ros-noetic-qwt-dependency-1.1.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674175600295,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9d2e6b43bfd74de8eae22015a9e123b","name":"ros-noetic-qwt-dependency","requires":[],"size":10488,"version":"1.1.1","binstar":{"package_id":"63c9cad1cd65eb0e145d8dc1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91acc2ffe5838673d0ad4324c1473a862f798143e554b45e7cea9a5dbd7218ea"},"ros-noetic-qwt-dependency-1.1.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525875629,"md5":"98b2290ef2c1f18aeb8290a275069427","name":"ros-noetic-qwt-dependency","requires":[],"size":11212,"version":"1.1.1","binstar":{"package_id":"63c9cad1cd65eb0e145d8dc1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"078d78e10e3beea51f05d85305540b88b0df1f66b4fbfc5d25c59bee6871d776"},"ros-noetic-code-coverage-0.4.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["coverage","lcov","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674173396930,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"af7c472d677cb908a3ed4f36d5b174df","name":"ros-noetic-code-coverage","requires":[],"size":13691,"version":"0.4.4","binstar":{"package_id":"63c9cad2989160afcf8edd3d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d3d7ef09fbdd0d2fe9723565ed8caef25bd52ac43b3e2faad693a602dd2506c"},"ros-noetic-code-coverage-0.4.4-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["coverage","lcov","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706525804504,"md5":"71b9f626f237e475e6b2a7153c350281","name":"ros-noetic-code-coverage","requires":[],"size":14343,"version":"0.4.4","binstar":{"package_id":"63c9cad2989160afcf8edd3d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0f77fbd9188f77de0ccbb92f19a79b50d6a261ab0c4226475b76a838c9fd4d8d"},"ros-noetic-libg2o-2020.5.3-py39h692d9da_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","suitesparse >=5.10.1,<6.0a0","xorg-libx11","xorg-libxext"],"build":"py39h692d9da_5","timestamp":1674176278572,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ec744e935e019f55330e40a01a24221f","name":"ros-noetic-libg2o","requires":[],"size":1519830,"version":"2020.5.3","binstar":{"package_id":"63c9cb42c37c80a75b329fe2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4b2da0c4eac3d739f3a99b73c3c637474f781af23899cb535874d736a79930d"},"ros-noetic-jackal-simulator-0.4.0-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-jackal-gazebo"],"build":"py39hae387e0_3","timestamp":1674459951863,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3a853ad5c5632879ff9f9fee62e99c72","name":"ros-noetic-jackal-simulator","requires":[],"size":11559,"version":"0.4.0","binstar":{"package_id":"63c9cb4668b198bb95958d03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b08f9440ab1a7f6b8a9527c36e935adfdb0c9f21414d5f725f1e9e00cf603f4e"},"ros-noetic-genpy-0.6.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674174858485,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"041a013650e6b97683d6582674f33903","name":"ros-noetic-genpy","requires":[],"size":60395,"version":"0.6.15","binstar":{"package_id":"63c9cc60cd65eb0e145e0dbb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5d32be37463d3f32431a3acc67a3b5f0aaafa8570d03187f9b29feceb595086d"},"ros-noetic-genpy-0.6.15-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527983080,"md5":"1d3c603787d234a91e5bcb88b3356dc5","name":"ros-noetic-genpy","requires":[],"size":78393,"version":"0.6.15","binstar":{"package_id":"63c9cc60cd65eb0e145e0dbb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b3a2dd6a379bfb2103f77df5833b94264a8eb6ac284b1639a816e26436a1da4b"},"ros-noetic-geneus-3.0.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674175143790,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5be4408b49cfd18e578d647040306c11","name":"ros-noetic-geneus","requires":[],"size":32821,"version":"3.0.0","binstar":{"package_id":"63c9cc61c37c80a75b32ec7c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ffe24c1f42695d95dc475072d2858d84e2f5e67de9cae0234b3ab4e6a8fad9b"},"ros-noetic-geneus-3.0.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528198559,"md5":"af3cbf8e369d8e2bca68382bb9ce9160","name":"ros-noetic-geneus","requires":[],"size":44825,"version":"3.0.0","binstar":{"package_id":"63c9cc61c37c80a75b32ec7c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"83a86ef515e8175e860c7b7787b819afa2dab679f6718584bc16cd9eb59082e3"},"ros-noetic-rostime-0.7.2-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common"],"build":"py39h2335ed2_5","timestamp":1674174755513,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a93fb614560c17524783d2bf8e72222b","name":"ros-noetic-rostime","requires":[],"size":46238,"version":"0.7.2","binstar":{"package_id":"63c9cc62c37c80a75b32ec9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"39add20c27ab34af7dc92a0b6d4f36fbd96ad8f72396739934ea31f4ba36a294"},"ros-noetic-rostime-0.7.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527907983,"md5":"32665c2c7418b68eded8cd7dea1bcbe7","name":"ros-noetic-rostime","requires":[],"size":49226,"version":"0.7.3","binstar":{"package_id":"63c9cc62c37c80a75b32ec9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1fdc6f165c909a636503608bfe25c688e64480544e4d754c3dccecc2dbaae8a4"},"ros-noetic-gennodejs-2.0.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674174949882,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc89ee1b5bcf591f36a664a9508f70fd","name":"ros-noetic-gennodejs","requires":[],"size":29961,"version":"2.0.2","binstar":{"package_id":"63c9cc634796da5b423bc593","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8a4e833e6ece11ef69af035df24f5ef3ce73c72cd0e0836edf1d2288be1f71eb"},"ros-noetic-gennodejs-2.0.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528055225,"md5":"bba24220f444d327de9a4967160dc89d","name":"ros-noetic-gennodejs","requires":[],"size":41180,"version":"2.0.2","binstar":{"package_id":"63c9cc634796da5b423bc593","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"eaa7cb4a8b33518268b751e603be1adf4d99098ff38015719fc3417d71ed1923"},"ros-noetic-genlisp-0.4.18-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674175043864,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"26a4972718a48b2540c97189244c7c01","name":"ros-noetic-genlisp","requires":[],"size":31214,"version":"0.4.18","binstar":{"package_id":"63c9cc64dbdf733521f01100","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3bbf9ee949f343f7c991dff577b39299267ca17a1e78e5eb8bc3d338645df31f"},"ros-noetic-genlisp-0.4.18-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528122023,"md5":"fccde61e0680055bec894dfcb4718ff4","name":"ros-noetic-genlisp","requires":[],"size":41429,"version":"0.4.18","binstar":{"package_id":"63c9cc64dbdf733521f01100","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"098c82bd8303b8610c8f3d27ebb64d204ff978a72e5b7a40a055a49395b462fd"},"ros-noetic-rospack-2.6.2-py39hd766fea_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","catkin_pkg","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pkg-config","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-ros-environment","rosdep","tinyxml2 >=9.0.0,<10.0a0"],"build":"py39hd766fea_5","timestamp":1674174880693,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ed85f422c00b1c7a4ab79e7bdfbf8601","name":"ros-noetic-rospack","requires":[],"size":106541,"version":"2.6.2","binstar":{"package_id":"63c9cc7c2ff78d332e6b2d1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"650758c7523d81141ed2bc81b39f46a385f94f698240229f4d06bc38d9afddd7"},"ros-noetic-rospack-2.6.2-py39hd766fea_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","catkin_pkg","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pkg-config","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-ros-environment","rosdep","tinyxml2 >=9.0.0,<10.0a0"],"build":"py39hd766fea_6","timestamp":1681946752391,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a6efc3704a2e80766fb6df85e864d9f4","name":"ros-noetic-rospack","requires":[],"size":107768,"version":"2.6.2","binstar":{"package_id":"63c9cc7c2ff78d332e6b2d1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f9adaa0e4394e65476bdaa6af349a89df1b9f661c3029fc9f070098b0f3b478"},"ros-noetic-rospack-2.6.2-py39hd766fea_7.tar.bz2":{"build_number":7,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","catkin_pkg","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pkg-config","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-ros-environment","rosdep","tinyxml2 >=9.0.0,<10.0a0"],"build":"py39hd766fea_7","timestamp":1682561009208,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3a31c5996eccf6a2cd21f3e14410f38c","name":"ros-noetic-rospack","requires":[],"size":107734,"version":"2.6.2","binstar":{"package_id":"63c9cc7c2ff78d332e6b2d1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"240547dfead8b96d20b1f1b48445558519a9f5a65716304952ea1fb31ff3aa7d"},"ros-noetic-rospack-2.6.2-py311hb90db5c_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hb90db5c_8","build_number":8,"depends":["boost-cpp","catkin_pkg","gtest >=1.14.0,<1.14.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","pkg-config","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-ros-environment","rosdep","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528043435,"md5":"ca3720b698792e4e817e9e51c0fd1bdc","name":"ros-noetic-rospack","requires":[],"size":115452,"version":"2.6.2","binstar":{"package_id":"63c9cc7c2ff78d332e6b2d1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a15ad7c9d7afdf0725cb6a58585db4651af715d6ee9b542677ace3deb1851553"},"ros-noetic-rosparam-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosgraph"],"build":"py39h46ec4ef_5","timestamp":1674175110107,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"815659262c0ba3953634b64d2fc7aa62","name":"ros-noetic-rosparam","requires":[],"size":24347,"version":"1.15.15","binstar":{"package_id":"63c9cc7eedf45d7c2e288734","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"159a277910f23b15ad222c33c52472ffff36c699b41fd3dd92fbd267936ceaa4"},"ros-noetic-rosparam-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosgraph"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528232164,"md5":"dc75fbc0fba79229dfe64bbbb26a1aef","name":"ros-noetic-rosparam","requires":[],"size":29813,"version":"1.16.0","binstar":{"package_id":"63c9cc7eedf45d7c2e288734","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9bb53d093c4bfd34705ecab852e9e334aaebc6e0ce2f63f322c42cfd56d87633"},"ros-noetic-rosmaster-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["defusedxml","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosgraph"],"build":"py39h46ec4ef_5","timestamp":1674175225598,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a12cad5c3b4afc95b699aa63bb578bd","name":"ros-noetic-rosmaster","requires":[],"size":49727,"version":"1.15.15","binstar":{"package_id":"63c9cc802ff78d332e6b2d9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f96eb5882fb4162f3031071d2c7ec0a560e2fe75067cdff8116be2723394beb3"},"ros-noetic-rosmaster-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["defusedxml","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosgraph"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528327265,"md5":"a214b2652aaa03b009987d0af2b7a16c","name":"ros-noetic-rosmaster","requires":[],"size":62878,"version":"1.16.0","binstar":{"package_id":"63c9cc802ff78d332e6b2d9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"06a9acf7e2f009d7e3e36af51f86ba915d2c8a471e9361c40df16bd7f8697e93"},"ros-noetic-roslang-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674174989150,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f1b631aea1c0bbe15fdd4ac3666cb663","name":"ros-noetic-roslang","requires":[],"size":11343,"version":"1.15.8","binstar":{"package_id":"63c9cc82cd65eb0e145e18c9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d80b4991b1ed373386aa10486d5c9125f0cbab89c654b1f50dadf441316d9aad"},"ros-noetic-roslang-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528126113,"md5":"96bdefc39fdde19e0d26f409a93ebae1","name":"ros-noetic-roslang","requires":[],"size":12056,"version":"1.15.8","binstar":{"package_id":"63c9cc82cd65eb0e145e18c9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b0f244ac005c1c1a832fecc0903ad806f781ddd24f2596791a9c731c1271a7e9"},"ros-noetic-gencpp-0.7.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg"],"build":"py39h46ec4ef_5","timestamp":1674174687417,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d05cbf700dbd9d26e27eedf01004f52a","name":"ros-noetic-gencpp","requires":[],"size":21899,"version":"0.7.0","binstar":{"package_id":"63c9cc8459c09271a4403ffe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5cdeca55936837767516ee8526dc337495d67fe6b8573da2cd5f8fdb09ce9f2f"},"ros-noetic-gencpp-0.7.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527892553,"md5":"96356551277aec98e85a5c4e5c98cef0","name":"ros-noetic-gencpp","requires":[],"size":24486,"version":"0.7.0","binstar":{"package_id":"63c9cc8459c09271a4403ffe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"eb963d23ebffeb65f693c54c6822c5837cc4da5dfcc9a40689c2bc57e69bf9b0"},"ros-noetic-eigen-stl-containers-0.1.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674174863326,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"534a81630fc94d2c8bb218c052ec6ec2","name":"ros-noetic-eigen-stl-containers","requires":[],"size":12609,"version":"0.1.8","binstar":{"package_id":"63c9cd32dbdf733521f073ec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"664807e74288c94f881551c47b48bfc47d0cf96de82270f8f413982368328f41"},"ros-noetic-eigen-stl-containers-0.1.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528449698,"md5":"7f2d74c4036d696a4aa2cddafa152c74","name":"ros-noetic-eigen-stl-containers","requires":[],"size":13321,"version":"0.1.8","binstar":{"package_id":"63c9cd32dbdf733521f073ec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"48bf0c9870085516c7c740b2ef846430b876aecd086546dcbf82d69206d8ca10"},"ros-noetic-xmlrpcpp-1.15.15-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-rostime"],"build":"py39h2335ed2_5","timestamp":1674177231265,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"97a10fbef3eaf3e8a6dc5873cd831e82","name":"ros-noetic-xmlrpcpp","requires":[],"size":68107,"version":"1.15.15","binstar":{"package_id":"63c9ce4d2ff78d332e6bf22c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b2377d943e754a08381f4a5db5d8605e509a842e88dce3fc7c48b55b7293cf7d"},"ros-noetic-xmlrpcpp-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529058555,"md5":"a35d2b6d490be05678836c7f32fa1871","name":"ros-noetic-xmlrpcpp","requires":[],"size":69347,"version":"1.16.0","binstar":{"package_id":"63c9ce4d2ff78d332e6bf22c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a82d5f13f1b42a908070cfaed9a4e7483cbae77dd863773ec27dc887136b118a"},"ros-noetic-roscpp-traits-0.7.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-rostime"],"build":"py39h46ec4ef_5","timestamp":1674176733306,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"72b8f1a685d778fe824ec93e02bba074","name":"ros-noetic-roscpp-traits","requires":[],"size":16481,"version":"0.7.2","binstar":{"package_id":"63c9ce4fc37c80a75b33df23","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dfa0db9a7793eb86682eb93c573acd1fd5fb261a676470272ddf5c6546f655b0"},"ros-noetic-roscpp-traits-0.7.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528709657,"md5":"fd341d88c63f8b0c7159959a922a9e7e","name":"ros-noetic-roscpp-traits","requires":[],"size":17259,"version":"0.7.3","binstar":{"package_id":"63c9ce4fc37c80a75b33df23","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3e568eb2096ef5fc8a34c585b5369d0c899915f59d1373932fc0c1d98c39aa47"},"ros-noetic-message-generation-0.4.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-gencpp","ros-noetic-geneus","ros-noetic-genlisp","ros-noetic-genmsg","ros-noetic-gennodejs","ros-noetic-genpy"],"build":"py39h46ec4ef_5","timestamp":1674176841208,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6436c6fdba75c8243a4e320dcc6942d9","name":"ros-noetic-message-generation","requires":[],"size":10796,"version":"0.4.1","binstar":{"package_id":"63c9ce5068b198bb9595c37f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c8a1275fce21d0dc9079a6ff1a21f16a287a03ed8f813fd51a99f581c5b7c3df"},"ros-noetic-message-generation-0.4.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-gencpp","ros-noetic-geneus","ros-noetic-genlisp","ros-noetic-genmsg","ros-noetic-gennodejs","ros-noetic-genpy"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528778851,"md5":"c53d3d0eb72ecdbbcffec15633863d23","name":"ros-noetic-message-generation","requires":[],"size":11493,"version":"0.4.1","binstar":{"package_id":"63c9ce5068b198bb9595c37f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"12487d97edc6e8153cf689f29bacc1ad0db50377575a19a1ef960879597141b2"},"ros-noetic-rosbash-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-rospack"],"build":"py39h46ec4ef_5","timestamp":1674177391689,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a98973b5c799ab2209f0cdea6bc2f200","name":"ros-noetic-rosbash","requires":[],"size":27065,"version":"1.15.8","binstar":{"package_id":"63c9ce528ff1ad2742807128","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0ec43ebdbcdd076cdbfdbd4e3e8ed2e83710b54ccd5a0b083609b101d0ceab1f"},"ros-noetic-rosbash-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-rospack"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529164591,"md5":"1383164d84386a792c2b1a6e51322741","name":"ros-noetic-rosbash","requires":[],"size":27878,"version":"1.15.8","binstar":{"package_id":"63c9ce528ff1ad2742807128","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"20c91f0cec63954ca2218467c2d72c02cf27b27ccbcaa31ef28a06e789ba0772"},"ros-noetic-roslib-1.15.8-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-ros-environment","ros-noetic-rospack","rospkg"],"build":"py39h2335ed2_5","timestamp":1674177039733,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e29e4669d6bab61edec1c7357c6b6ec3","name":"ros-noetic-roslib","requires":[],"size":100857,"version":"1.15.8","binstar":{"package_id":"63c9ce54dbdf733521f11462","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f749597b1116b68e883fdf731ea63fedcca94c4e368cf5d31457cdf9055bfcb1"},"ros-noetic-roslib-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-ros-environment","ros-noetic-rospack","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528913714,"md5":"a54cdc4b81c29b247f27e00f21611aff","name":"ros-noetic-roslib","requires":[],"size":125801,"version":"1.15.8","binstar":{"package_id":"63c9ce54dbdf733521f11462","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e2587047c0ac2a23b9cd08f0de5997f20192dd391874fbd1dfc24307160f77f"},"ros-noetic-rosunit-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roslib","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674178327428,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e04042e2d819eb78576711ddaea44458","name":"ros-noetic-rosunit","requires":[],"size":57945,"version":"1.15.8","binstar":{"package_id":"63c9cf42b23346582c9f8563","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"995489891219fe169a157c7541b9541666fc9dc5a82446ebbfca7db4dfd00192"},"ros-noetic-rosunit-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roslib","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529539850,"md5":"5f24508a129603d08f4ffb9ef0cca7f3","name":"ros-noetic-rosunit","requires":[],"size":77272,"version":"1.15.8","binstar":{"package_id":"63c9cf42b23346582c9f8563","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"02166d4a01a33b15a7e9f04071eecec06e2459eae012ad364038107997ace903"},"ros-noetic-roscpp-serialization-0.7.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-roscpp-traits","ros-noetic-rostime"],"build":"py39h46ec4ef_5","timestamp":1674178213400,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4df960db247bcc61a73a899200fe98ae","name":"ros-noetic-roscpp-serialization","requires":[],"size":18787,"version":"0.7.2","binstar":{"package_id":"63c9cf43edf45d7c2e28e038","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d6fb10db6fd45c55abcf2657cc6422d22f65493d7bdc0d681c7914b612c12c70"},"ros-noetic-roscpp-serialization-0.7.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-roscpp-traits","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529454689,"md5":"3bfa80e246f6265d3066e19461cbdbc8","name":"ros-noetic-roscpp-serialization","requires":[],"size":19867,"version":"0.7.3","binstar":{"package_id":"63c9cf43edf45d7c2e28e038","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7cedd485d5fa6968677644138ef7e8a134e015676a86c88f2b6a90c136b76bba"},"ros-noetic-roscreate-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roslib","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674178423437,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f0ddd21174daeb211256fee9c235c98e","name":"ros-noetic-roscreate","requires":[],"size":18906,"version":"1.15.8","binstar":{"package_id":"63c9cf45dbfac0565a3a6ac0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"52197d49e99d756b6818da758d646815c16591e534cc370502a2cb792d795f1e"},"ros-noetic-roscreate-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roslib","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529615963,"md5":"7b3a4f9c404a7dd47568838b04179802","name":"ros-noetic-roscreate","requires":[],"size":21633,"version":"1.15.8","binstar":{"package_id":"63c9cf45dbfac0565a3a6ac0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"77033f9ff903057c4a22d13c041e15ca9c67239c66a536177a863e988f1a31eb"},"ros-noetic-roscpp-core-0.7.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rostime"],"build":"py39h46ec4ef_5","timestamp":1674179504696,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fa671bb149376492d173e27b0b03a780","name":"ros-noetic-roscpp-core","requires":[],"size":7592,"version":"0.7.2","binstar":{"package_id":"63c9d07c5a31eb90f69fa2b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7e94c0f62fe67561d71c64fee885a57f684b08ea9637fa837c9b49d1fe32d2f5"},"ros-noetic-roscpp-core-0.7.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530226509,"md5":"6f00408474d47b41d891393234537ee8","name":"ros-noetic-roscpp-core","requires":[],"size":8387,"version":"0.7.3","binstar":{"package_id":"63c9d07c5a31eb90f69fa2b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"22941071e6988cba0a6639167589730cd5f5a306e0ee5c5e2f216b4987c32282"},"ros-noetic-roslz4-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","lz4","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674179272375,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"06730dc303ba3fa6b8f55720c7f09836","name":"ros-noetic-roslz4","requires":[],"size":23697,"version":"1.15.15","binstar":{"package_id":"63c9d07c989160afcf922944","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d302c8a3d233c6b91342b0a4e3e5abb9b7dcf8e3f19efa29a66cc391d5ece7f9"},"ros-noetic-roslz4-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","lz4","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530029681,"md5":"d98ff20119386defabe112913d8e3b79","name":"ros-noetic-roslz4","requires":[],"size":24650,"version":"1.16.0","binstar":{"package_id":"63c9d07c989160afcf922944","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9145cdefbd3bc4107216692b4703fec193a3c488869d280ff23df601717bfcb3"},"ros-noetic-message-runtime-0.4.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-genpy","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rostime"],"build":"py39h46ec4ef_5","timestamp":1674179084598,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e6334585248501abb2aeb54c62cb2a12","name":"ros-noetic-message-runtime","requires":[],"size":10913,"version":"0.4.13","binstar":{"package_id":"63c9d07d2e1172ba3668912d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"83d4ed7475805d7643e752a62d34ac46bd85aab07655887983ca34efb69f7cf7"},"ros-noetic-message-runtime-0.4.13-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-genpy","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706529874549,"md5":"2433620707943c40ddbb0ae74e7782a4","name":"ros-noetic-message-runtime","requires":[],"size":11672,"version":"0.4.13","binstar":{"package_id":"63c9d07d2e1172ba3668912d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"83e6f6f9d045126caf165c1ba4441ae099b06e58ba50c16d38b52f8b1c68bfb6"},"ros-noetic-angles-1.9.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674179397360,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"877dbbf6555a3b1c4cb18e82948420b3","name":"ros-noetic-angles","requires":[],"size":18769,"version":"1.9.13","binstar":{"package_id":"63c9d07ecd65eb0e145fe2ff","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"93a6521ad900bc0cb308f88b0cabbd72bba5d89100a44406f9f60c0a38e3b2e6"},"ros-noetic-angles-1.9.13-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530124927,"md5":"75cc981ed37154031beb6a84b25efe06","name":"ros-noetic-angles","requires":[],"size":21212,"version":"1.9.13","binstar":{"package_id":"63c9d07ecd65eb0e145fe2ff","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b7a5b9efed2aa997e4d82dfdceeeab3e3f79ecb445567a71d970e0bc50bdb45c"},"ros-noetic-rosbuild-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-message-generation","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674180166431,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0206a74e6c0d3f34800ecdd349fe07d8","name":"ros-noetic-rosbuild","requires":[],"size":34938,"version":"1.15.8","binstar":{"package_id":"63c9d1a2cd65eb0e14602947","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"84b4269795d3fee6294ad3def45e7a832a6a09f606fbb5ed4c6126b50ae6f8d7"},"ros-noetic-rosbuild-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-message-generation","ros-noetic-message-runtime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530870187,"md5":"fb3c31045af12b3d5166ffa8fc8cfa12","name":"ros-noetic-rosbuild","requires":[],"size":36759,"version":"1.15.8","binstar":{"package_id":"63c9d1a2cd65eb0e14602947","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f4f522deeef2e3310e437af0b17c281cf9f5a85a925c0cee69f97ab11290fac"},"ros-noetic-rosserial-msgs-0.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674180450766,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ecbd127b29c2fddb585987c1e49e410e","name":"ros-noetic-rosserial-msgs","requires":[],"size":32440,"version":"0.9.2","binstar":{"package_id":"63c9d1a459c09271a4418227","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"546541103f139ecdcbc8246c978067e1bfdf8178ce394e3d9771f1d7cce0169e"},"ros-noetic-rosserial-msgs-0.9.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531093808,"md5":"1684aea2fa388be7b4810a3f76cf6f00","name":"ros-noetic-rosserial-msgs","requires":[],"size":36718,"version":"0.9.2","binstar":{"package_id":"63c9d1a459c09271a4418227","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ef7d656f8c1be5805b4ee432b00da25e5f846ca14a768262fe6ce055caa6c04"},"ros-noetic-std-msgs-0.5.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674180050463,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0a13194955645753216c8eba25a63037","name":"ros-noetic-std-msgs","requires":[],"size":74740,"version":"0.5.13","binstar":{"package_id":"63c9d1a5cd65eb0e146029f9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d9862b142c8e3f2d5afe589c3c2dfe298ae20b82dd0a90a2223a8e49ec38676"},"ros-noetic-std-msgs-0.5.13-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530751972,"md5":"2455ce996dcdd4f2dfcf3a0d91161efd","name":"ros-noetic-std-msgs","requires":[],"size":83635,"version":"0.5.13","binstar":{"package_id":"63c9d1a5cd65eb0e146029f9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6d9dec59fe21aab9799834af1975df0301454347b823ee6a32cb79092efbba27"},"ros-noetic-std-srvs-1.11.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674180306494,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d2ec8d7a65dd23f250bdb52bab21da41","name":"ros-noetic-std-srvs","requires":[],"size":28345,"version":"1.11.3","binstar":{"package_id":"63c9d1a70273ee116affe6e9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ba082c3afab8cdd4cc2d3747c1d4243f3cb2b8c311960f11bd1ca2d6f91c6d23"},"ros-noetic-std-srvs-1.11.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706530975548,"md5":"ba9e288e6feab334da069ca8025a37f3","name":"ros-noetic-std-srvs","requires":[],"size":31643,"version":"1.11.3","binstar":{"package_id":"63c9d1a70273ee116affe6e9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"282ef9dffb639109eb44099315690f041a0fb10528d680cbeb45c44dcb9dcd14"},"ros-noetic-plotjuggler-msgs-0.2.1-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-generation","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_6","timestamp":1681695880509,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e13208055dc4c52116c9849815d00311","name":"ros-noetic-plotjuggler-msgs","requires":[],"size":34561,"version":"0.2.1","binstar":{"package_id":"63c9d24eb23346582ca04240","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5241641d4a92e1e1dbf42691c494c5ae5fccc8e51e23666c4016a56e7dedb4c6"},"ros-noetic-rosbridge-msgs-0.11.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674180844293,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e817a7dac47ed9b63b0c8c8b7a905f3c","name":"ros-noetic-rosbridge-msgs","requires":[],"size":23952,"version":"0.11.16","binstar":{"package_id":"63c9d2a92e1172ba3668d97b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0b04428bc69bd310154eb702dfe77804dc7c716a50629843f955761cc0915144"},"ros-noetic-rosbridge-msgs-0.11.17-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532120407,"md5":"063ff68aaa7fcd3b8d368ed615449ae3","name":"ros-noetic-rosbridge-msgs","requires":[],"size":27166,"version":"0.11.17","binstar":{"package_id":"63c9d2a92e1172ba3668d97b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8c96a4a5acf61ba6990ce10c6732807656286514656ca58311bf1c5f5d74b739"},"ros-noetic-jackal-msgs-0.8.5-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39hae387e0_3","timestamp":1674181261917,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2470552e892d87fc0dc91c9e7ac8fa8e","name":"ros-noetic-jackal-msgs","requires":[],"size":39108,"version":"0.8.5","binstar":{"package_id":"63c9d2abdbdf733521f38072","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4fd407d8913f74dc6a39b5562753a37b040f913fa4f6cce0c1769a837e14d621"},"ros-noetic-turtlebot3-msgs-1.0.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674180979843,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a955fdd3760152f87a6291f5258c6c67","name":"ros-noetic-turtlebot3-msgs","requires":[],"size":31788,"version":"1.0.1","binstar":{"package_id":"63c9d2ac8ff1ad27428305d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9a63d5281c39afb3872daeb202e5304a5eec7ea8803a0dc93dc776241d10c407"},"ros-noetic-turtlebot3-msgs-1.0.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532017186,"md5":"5cf0223cc812e888978e24a2111fbfc0","name":"ros-noetic-turtlebot3-msgs","requires":[],"size":35446,"version":"1.0.1","binstar":{"package_id":"63c9d2ac8ff1ad27428305d4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bfed640c556b802ebc650053b9b68e33c8d6bb23f533eb0065ddc11d2aec7019"},"ros-noetic-nmea-msgs-1.1.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181133935,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6f16a12820dcbef07ddaed227a839f2b","name":"ros-noetic-nmea-msgs","requires":[],"size":45320,"version":"1.1.0","binstar":{"package_id":"63c9d2ad2ff78d332e6e286a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b2f25b34632e8b920f92c676d70a6cc9c6c03db50bb21950f06b0ec03fd85aa2"},"ros-noetic-nmea-msgs-1.1.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532236285,"md5":"9b4c433f5606a1e1639c972bbb09c079","name":"ros-noetic-nmea-msgs","requires":[],"size":51164,"version":"1.1.0","binstar":{"package_id":"63c9d2ad2ff78d332e6e286a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9ae96c5e3d47e7af361fc44dffe8279604b9968d6fc171003630af82c8873c90"},"ros-noetic-diagnostic-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181453391,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"73ee81437e3d9a1f29db913377604453","name":"ros-noetic-diagnostic-msgs","requires":[],"size":41406,"version":"1.13.1","binstar":{"package_id":"63c9d2cacd65eb0e14606152","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"56eaa7840ddc43e286c36d7f6ad38379d8bd185b392d3881c5c269cc3be4ab0a"},"ros-noetic-diagnostic-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531874205,"md5":"cfea835d11418dbfaf050744e70e634d","name":"ros-noetic-diagnostic-msgs","requires":[],"size":47047,"version":"1.13.1","binstar":{"package_id":"63c9d2cacd65eb0e14606152","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c7d68ef9c50681bfdd63091e4860a7fce2ac86880f44b96eab3c4c51b5f5e4f"},"ros-noetic-actionlib-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-generation","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181319047,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7b0734787784200196bf4a98950ac945","name":"ros-noetic-actionlib-msgs","requires":[],"size":36120,"version":"1.13.1","binstar":{"package_id":"63c9d2cb2ff78d332e6e2bec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4f0f1670f611e6021f765abed80acac389a55d2f35be50be35c69e2a1e8e556"},"ros-noetic-actionlib-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-generation","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531756789,"md5":"e8afd47da76f341757cd6762176ab1bb","name":"ros-noetic-actionlib-msgs","requires":[],"size":41657,"version":"1.13.1","binstar":{"package_id":"63c9d2cb2ff78d332e6e2bec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"87d53c5eec4c887c2f7274c3b82aafa6d54f9cafab9ddab91b2e4eee6b54df2d"},"ros-noetic-geometry-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181191352,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e8ca544eb78aef7a5d30575ac7adfdf0","name":"ros-noetic-geometry-msgs","requires":[],"size":82158,"version":"1.13.1","binstar":{"package_id":"63c9d2cc5a31eb90f6a04e0f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"71b7b6e8a9730d8ba0a3cca2701b6a560c1c19187b5e864f9021aab5c3f2a678"},"ros-noetic-geometry-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531643600,"md5":"fd5b6dd0a2a87ab917aadbfc812c32f3","name":"ros-noetic-geometry-msgs","requires":[],"size":94562,"version":"1.13.1","binstar":{"package_id":"63c9d2cc5a31eb90f6a04e0f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f9a45de56f9b15980378819ab9e4860c71cd92f351bcec68b6866c5986c7241b"},"ros-noetic-rosconsole-1.14.3-py39h68ef2c3_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["apr","boost-cpp","libcxx >=14.0.6","log4cxx >=0.11.0,<0.11.1.0a0","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-rosbuild","ros-noetic-rostime"],"build":"py39h68ef2c3_5","timestamp":1674181031861,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b0198d61418c1131596d1cc1b91a0d1e","name":"ros-noetic-rosconsole","requires":[],"size":168418,"version":"1.14.3","binstar":{"package_id":"63c9d2cd912363225b824bbd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9345692557d93b6c0288c3290cbaf142951709d92b2e2fc31250b53bc2ff5562"},"ros-noetic-rosconsole-1.14.3-py311h96ee5f4_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h96ee5f4_8","build_number":8,"depends":["apr","boost-cpp","libcxx >=15","log4cxx >=1.1.0,<1.1.1.0a0","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-rosbuild","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531513044,"md5":"f36cd75b1bc2631badd4784c4c795873","name":"ros-noetic-rosconsole","requires":[],"size":170718,"version":"1.14.3","binstar":{"package_id":"63c9d2cd912363225b824bbd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"79ffaa7933088ebffc287168cf4bf3856137fb8475e573e44d30209c7ebb4495"},"ros-noetic-rosgraph-msgs-1.11.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674180808624,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c5ff9a07252692dfe5993a0f26fd7865","name":"ros-noetic-rosgraph-msgs","requires":[],"size":34635,"version":"1.11.3","binstar":{"package_id":"63c9d2cda64974fd099f57ff","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91880804f583e3b18f472e6aa637623ffcd5a86e9d744ef91dec0e6561e74918"},"ros-noetic-rosgraph-msgs-1.11.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531367784,"md5":"ed8547d89593e1695403aa3663eb1848","name":"ros-noetic-rosgraph-msgs","requires":[],"size":39812,"version":"1.11.3","binstar":{"package_id":"63c9d2cda64974fd099f57ff","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"43fa0befbb84c3f1583e6bdf8bb8123dd965cc678f42896cb8c08e3a15366b07"},"ros-noetic-mk-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosbuild","ros-noetic-rospack"],"build":"py39h46ec4ef_5","timestamp":1674181148235,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"adb15acc574d756dae1847849e4df0d9","name":"ros-noetic-mk","requires":[],"size":16726,"version":"1.15.8","binstar":{"package_id":"63c9d2d520c05f5e3908413a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ab10fecbd87624fc78d6b9520a5bdd603ebf98e703d47ac7fc051ef044c0045"},"ros-noetic-mk-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosbuild","ros-noetic-rospack"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532295615,"md5":"4d7842f3280baeaed0b99a980aa5dc98","name":"ros-noetic-mk","requires":[],"size":17874,"version":"1.15.8","binstar":{"package_id":"63c9d2d520c05f5e3908413a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"daac751e8eac3fc6a4ecc828aaa1a4ed2e9c059772be9cce3fbd73ae90512f7e"},"ros-noetic-bond-1.8.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181018264,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2c24e99fbd9224ee811c76ffddd894f8","name":"ros-noetic-bond","requires":[],"size":26019,"version":"1.8.6","binstar":{"package_id":"63c9d2d6be293b9e16e89979","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b9b1631943d8661a3c8018b8a402eee9f7da15cf2afcd77e8c050e6fcb5fbcfc"},"ros-noetic-bond-1.8.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532070025,"md5":"aeeb91c46b2264dbd99e1e5312dd2653","name":"ros-noetic-bond","requires":[],"size":29176,"version":"1.8.6","binstar":{"package_id":"63c9d2d6be293b9e16e89979","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5dfa79bcefed88b8f1e9a3e372c5bd27ee4793386d1cfe5164d4b7a9ea24b0a4"},"ros-noetic-smach-msgs-2.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181390983,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f326265e729ed50ecd3a863d42c1e904","name":"ros-noetic-smach-msgs","requires":[],"size":31203,"version":"2.5.0","binstar":{"package_id":"63c9d2d8cd65eb0e14606927","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cd3275b99e7c8eb8aa6ff02bc1d6158fb8de74f3ef5c2e48912cfd5ed93735ed"},"ros-noetic-smach-msgs-2.5.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531914018,"md5":"c08b1923a36080bece3dea03a640b8c8","name":"ros-noetic-smach-msgs","requires":[],"size":35124,"version":"2.5.2","binstar":{"package_id":"63c9d2d8cd65eb0e14606927","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"31c006a43394e093f1e36f339fa3905b8735b6cfe1443825c7c72f80064ba3b1"},"ros-noetic-uuid-msgs-1.0.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181269374,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0bc310a780ccb34b6c4cf2f2dfe2ebb","name":"ros-noetic-uuid-msgs","requires":[],"size":19234,"version":"1.0.6","binstar":{"package_id":"63c9d2da2ff78d332e6e2de2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"99d876321c5a7cffa275a1f08e45eadede6e6a7ea26668b36a3a3cbaae7b4114"},"ros-noetic-uuid-msgs-1.0.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532399433,"md5":"6c13fe54e0f3779864d6aa93d5503805","name":"ros-noetic-uuid-msgs","requires":[],"size":21203,"version":"1.0.6","binstar":{"package_id":"63c9d2da2ff78d332e6e2de2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bcb4328def4932d90f23c8696535055864016e85ba52bff72a99033d7717106e"},"ros-noetic-slam-toolbox-msgs-1.5.7-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-std-srvs"],"build":"py39h46ec4ef_5","timestamp":1674181977467,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"728e77799ca7e369c6d8ba0d40b37ec5","name":"ros-noetic-slam-toolbox-msgs","requires":[],"size":43810,"version":"1.5.7","binstar":{"package_id":"63c9d3d95a31eb90f6a0928e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"22ac576d9532e5e0269fe7b187cd3386e113bd2a196d7f10b3a59574d4ce7f4b"},"ros-noetic-radar-msgs-0.1.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-uuid-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182135038,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fd598cf37bb8d6b005edf4aeaf055802","name":"ros-noetic-radar-msgs","requires":[],"size":38584,"version":"0.1.0","binstar":{"package_id":"63c9d3dbdbdf733521f3ef8d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6a591edcfddd6dfb1a89ff1063cbe04406889c08b7130e8d7956eb2392e906cb"},"ros-noetic-radar-msgs-0.1.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-uuid-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533495906,"md5":"ec0a20eebcc006adbebeade4ed1390a5","name":"ros-noetic-radar-msgs","requires":[],"size":44858,"version":"0.1.0","binstar":{"package_id":"63c9d3dbdbdf733521f3ef8d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"eeaa246523e5d6daf3883be3c4c6797600dc45a2a45b424c4690193bcc2e4849"},"ros-noetic-mbf-abstract-core-0.4.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182339300,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c341953b8fc3f1a8ea7cce152f9ba216","name":"ros-noetic-mbf-abstract-core","requires":[],"size":14275,"version":"0.4.0","binstar":{"package_id":"63c9d3dd14201bfa452d8664","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"902a549765051ea5611de578a7ea0c03e75bdbe5b5a4b0306b382a0895443f70"},"ros-noetic-octomap-msgs-0.3.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182436925,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"674b59d47f868831051681a87982c81c","name":"ros-noetic-octomap-msgs","requires":[],"size":39673,"version":"0.3.5","binstar":{"package_id":"63c9d3f92ff78d332e6f0f39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a9255ce9503f05e76578e097fc20d79670ed6c3ca099ec77a81b33eeb439b7bc"},"ros-noetic-octomap-msgs-0.3.5-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533382726,"md5":"9b4ad1269a6ddbc6758604514addabe7","name":"ros-noetic-octomap-msgs","requires":[],"size":45823,"version":"0.3.5","binstar":{"package_id":"63c9d3f92ff78d332e6f0f39","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ca303e3e3c2b8c7a5100a886d333d28ba32d61cb873b4c601633b53f50e2b228"},"ros-noetic-resource-retriever-1.12.7-py39h0cedfa0_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcurl >=7.87.0,<8.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole","ros-noetic-roslib","rospkg"],"build":"py39h0cedfa0_5","timestamp":1674182005092,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e90e5e6bb501c3cc561fdf65a46696f3","name":"ros-noetic-resource-retriever","requires":[],"size":22488,"version":"1.12.7","binstar":{"package_id":"63c9d3fb2ff78d332e6f0f4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5ffac3801666dd3c5225915f7324d5311e08fe95d7a579f88526c959e6a0167d"},"ros-noetic-resource-retriever-1.12.7-py311hb978a33_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hb978a33_8","build_number":8,"depends":["boost","libcurl >=8.5.0,<9.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosconsole","ros-noetic-roslib","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533030163,"md5":"add731bb96bd6b15dcc8daa83f8afd1d","name":"ros-noetic-resource-retriever","requires":[],"size":24410,"version":"1.12.7","binstar":{"package_id":"63c9d3fb2ff78d332e6f0f4c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b657eb62b080b7450903b896774d5543441b2a17614ee6a2abaa8452b3df0120"},"ros-noetic-trajectory-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-rosbag-migration-rule","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182301773,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4b014b5f78fcc184478e5d3e4953d4c1","name":"ros-noetic-trajectory-msgs","requires":[],"size":37791,"version":"1.13.1","binstar":{"package_id":"63c9d3fc59c09271a442298f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d3824003cf0e5ac38a6e42e25b0a475edb2f22398829daee1ffa4c0ee281f1c2"},"ros-noetic-trajectory-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-rosbag-migration-rule","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533264187,"md5":"22534d7e41c0b5f77edc52a09cec71c7","name":"ros-noetic-trajectory-msgs","requires":[],"size":44152,"version":"1.13.1","binstar":{"package_id":"63c9d3fc59c09271a442298f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d19e98377d8890a1a9e024410a9cb05fcafd79bc10262d2bab70f45c35a6318"},"ros-noetic-visualization-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674181813886,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e82f4af9be5e9d7e94b4580b852f2e3b","name":"ros-noetic-visualization-msgs","requires":[],"size":91963,"version":"1.13.1","binstar":{"package_id":"63c9d3feedf45d7c2e29a1b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d8ff7d8d0a9e1d294f89d530390a5291b0bcd127caed5fa1960be43eca76e5ec"},"ros-noetic-visualization-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532870682,"md5":"5cfbf565cb19bca3c5cf0178c762b87f","name":"ros-noetic-visualization-msgs","requires":[],"size":108497,"version":"1.13.1","binstar":{"package_id":"63c9d3feedf45d7c2e29a1b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8d87cf3c255a50aeecbb332df96f9129ae6b7a2a4672ad493fddecfa83f7883b"},"ros-noetic-shape-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182140315,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"24940b1b8850be2350848936dc104e23","name":"ros-noetic-shape-msgs","requires":[],"size":31246,"version":"1.13.1","binstar":{"package_id":"63c9d400b23346582ca12d15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d1ba9cba1c80172481ddf207c396d49a3396c719da1ffdced0c85150ca3ddc1"},"ros-noetic-shape-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533148683,"md5":"f24b97445df718374cd4708f9643d55a","name":"ros-noetic-shape-msgs","requires":[],"size":35367,"version":"1.13.1","binstar":{"package_id":"63c9d400b23346582ca12d15","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"085c062e306aa5036dd6a880f6809f6d284007cd399e0da6c4fe7906c00b2347"},"ros-noetic-kdl-conversions-1.13.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182275690,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39245032d0e60cdddd41afe05860f6ce","name":"ros-noetic-kdl-conversions","requires":[],"size":14937,"version":"1.13.2","binstar":{"package_id":"63c9d40ed0e8c095e21f7183","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5d7e0a65f154c6122b84f3ba804344341acdb7860968fe34135646e35a11e31a"},"ros-noetic-kdl-conversions-1.13.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532959041,"md5":"0821f7c85eeefb10a0c91884c2c79295","name":"ros-noetic-kdl-conversions","requires":[],"size":15707,"version":"1.13.2","binstar":{"package_id":"63c9d40ed0e8c095e21f7183","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7c24168d44bfa527bf1625ebb5f4fce63aa68b213282dd00bf954927bc9c3580"},"ros-noetic-qt-gui-py-common-0.4.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674182125088,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"65f736e384bb92be5360fe53810e1c05","name":"ros-noetic-qt-gui-py-common","requires":[],"size":22269,"version":"0.4.2","binstar":{"package_id":"63c9d40f59c09271a4422ab0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7bdc63cf92919c3996326a0ec6c27c9487075dc353b7e4d12d22fad64d55d503"},"ros-noetic-qt-gui-py-common-0.4.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533042907,"md5":"f2893e4027a4c97a790e5519628b62de","name":"ros-noetic-qt-gui-py-common","requires":[],"size":26779,"version":"0.4.2","binstar":{"package_id":"63c9d40f59c09271a4422ab0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d2df71ca5d08394f19f86ffe8882d1d688834a6233cb8edc80382e3d32ed2c1"},"ros-noetic-move-base-msgs-1.14.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674182406227,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7cb55161cfa932ef80ec6ac77d86a9af","name":"ros-noetic-move-base-msgs","requires":[],"size":44103,"version":"1.14.1","binstar":{"package_id":"63c9d410912363225b82b9cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a677004552f92a2aa0bc449afe897345a2f52a5ae97a4432e534bc3d0d3ebd8"},"ros-noetic-move-base-msgs-1.14.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533153372,"md5":"c373a780d632ad4e28b675894a20de5b","name":"ros-noetic-move-base-msgs","requires":[],"size":54668,"version":"1.14.1","binstar":{"package_id":"63c9d410912363225b82b9cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"13471517ad31ea58f538c53981cabe7be86ce7fd24b6697434a8e5ae44fe0783"},"ros-noetic-qt-gui-0.4.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyqt >=5.15.7,<5.16.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","rospkg","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674181852473,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a7345b8f93f56501971b54a8d7895b71","name":"ros-noetic-qt-gui","requires":[],"size":106221,"version":"0.4.2","binstar":{"package_id":"63c9d410cd65eb0e1460e034","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"249876be520c14f374f38dbeab95d8264079bad8cc2b5660b699a27f480cfbc6"},"ros-noetic-qt-gui-0.4.2-py311ha5a60af_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311ha5a60af_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","pyqt >=5.15.9,<5.16.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","rospkg","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532695726,"md5":"dff2fad3ba549a96d3b8a732ae52caa4","name":"ros-noetic-qt-gui","requires":[],"size":140242,"version":"0.4.2","binstar":{"package_id":"63c9d410cd65eb0e1460e034","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c936e6173d8539352b5a164d74336ea50e75871d1893bd34d4c27f5225051a4d"},"ros-noetic-eigen-conversions-1.13.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182031843,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39c688fab2ce5505fe7c38b67a28541d","name":"ros-noetic-eigen-conversions","requires":[],"size":17208,"version":"1.13.2","binstar":{"package_id":"63c9d411912363225b82b9fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"69812bc10fdf2595217d03d3f0d633976bc6207c85885a2f81473cb468201cdf"},"ros-noetic-eigen-conversions-1.13.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532833429,"md5":"ee6160c1654aac8a546844d354c9441d","name":"ros-noetic-eigen-conversions","requires":[],"size":17966,"version":"1.13.2","binstar":{"package_id":"63c9d411912363225b82b9fc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3d09f980c1f0cadee81567adb39ebf7a689aeb8523dbd6adfa77eaf3b6d37b50"},"ros-noetic-qt-dotgraph-0.4.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pydot","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding"],"build":"py39h46ec4ef_5","timestamp":1674182081921,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f5702e883e331914fbb05d5dbb967e7","name":"ros-noetic-qt-dotgraph","requires":[],"size":31516,"version":"0.4.2","binstar":{"package_id":"63c9d42c59c09271a44235bf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"96481bf2e6a7f84fcaeaa4ad3b01cd880814155a687c1610bf13eeb1ffabc04d"},"ros-noetic-qt-dotgraph-0.4.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","pydot","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533457338,"md5":"c1f4d7f8ba6985a0efa02a6620461c2b","name":"ros-noetic-qt-dotgraph","requires":[],"size":40292,"version":"0.4.2","binstar":{"package_id":"63c9d42c59c09271a44235bf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0352dc06f60302a557b4bbf9ba228f9515361f4df26f623f95282b13eea63d1b"},"ros-noetic-ros-1.15.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-mk","ros-noetic-rosbash","ros-noetic-rosboost-cfg","ros-noetic-rosbuild","ros-noetic-rosclean","ros-noetic-roscreate","ros-noetic-roslang","ros-noetic-roslib","ros-noetic-rosmake","ros-noetic-rosunit"],"build":"py39h46ec4ef_5","timestamp":1674181950623,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"69f6a0d073f49c735b729fcc34cbb859","name":"ros-noetic-ros","requires":[],"size":8232,"version":"1.15.8","binstar":{"package_id":"63c9d42f20c05f5e3908507b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c1da2bbe5bb5a7be6ad3c584d84b5876b9fd21880b6041abb61c4a2ddd8b560b"},"ros-noetic-ros-1.15.8-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-mk","ros-noetic-rosbash","ros-noetic-rosboost-cfg","ros-noetic-rosbuild","ros-noetic-rosclean","ros-noetic-roscreate","ros-noetic-roslang","ros-noetic-roslib","ros-noetic-rosmake","ros-noetic-rosunit"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533351721,"md5":"c9ed3c2017065c22f897a5bf09bec26a","name":"ros-noetic-ros","requires":[],"size":9025,"version":"1.15.8","binstar":{"package_id":"63c9d42f20c05f5e3908507b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"528df4b28f3c5989bc7018c696a8e03dc9feb851569bf92f56b11360b1856b4c"},"ros-noetic-roslisp-1.9.24-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-ros-environment","ros-noetic-rosgraph-msgs","ros-noetic-roslang","ros-noetic-rospack","ros-noetic-std-srvs","sbcl"],"build":"py39h46ec4ef_5","timestamp":1675292632761,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dba60e7a7085e22f3a5f681483036b08","name":"ros-noetic-roslisp","requires":[],"size":118463,"version":"1.9.24","binstar":{"package_id":"63c9d432b23346582ca14049","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d1a4f136609f04eb5402cbdbe77f20020cceff2b3c5364f3fb78b4672d84109b"},"ros-noetic-roslisp-1.9.25-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-ros-environment","ros-noetic-rosgraph-msgs","ros-noetic-roslang","ros-noetic-rospack","ros-noetic-std-srvs","sbcl"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533235934,"md5":"b0f0b9cc1e32e48ace433f7e4e127fc8","name":"ros-noetic-roslisp","requires":[],"size":128090,"version":"1.9.25","binstar":{"package_id":"63c9d432b23346582ca14049","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c2ec983a3cef58098d8784bea663b2c200ee11ea1036a826156e0fac7de431fa"},"ros-noetic-geographic-msgs-0.5.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-uuid-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182218601,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c05c36463af4fd72af79167b2cecf28","name":"ros-noetic-geographic-msgs","requires":[],"size":88093,"version":"0.5.6","binstar":{"package_id":"63c9d434c37c80a75b370cc8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e6728056649e9b607d36c8f209234d1b2a141925d1dab31b6490def21ad40485"},"ros-noetic-geographic-msgs-0.5.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-uuid-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533579826,"md5":"82d968adb4f852769b9c7a7f13e8fed0","name":"ros-noetic-geographic-msgs","requires":[],"size":105400,"version":"0.5.6","binstar":{"package_id":"63c9d434c37c80a75b370cc8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"72eaf24d58904c8fe33615db64661872c8a2cee66e3e4cac99ffc28d3a8a21e4"},"ros-noetic-tf2-msgs-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-generation"],"build":"py39h46ec4ef_5","timestamp":1674182314888,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"366b06f9e200aeee2833abc04a19b0ab","name":"ros-noetic-tf2-msgs","requires":[],"size":55991,"version":"0.7.6","binstar":{"package_id":"63c9d47214201bfa452da7df","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dc849b7b64499b334bd012e6f35f5e9ef84cddc68039981d9c8077fac2319b37"},"ros-noetic-tf2-msgs-0.7.7-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-generation"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533626701,"md5":"1d11e0fadccba3cc728b57b99cfa3f63","name":"ros-noetic-tf2-msgs","requires":[],"size":67611,"version":"0.7.7","binstar":{"package_id":"63c9d47214201bfa452da7df","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"03f92ef38f24378a9a4b5e0b248802a820625ddef503b4faaf5f7c9c8d27012e"},"ros-noetic-pluginlib-1.13.0-py39hd766fea_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-class-loader","ros-noetic-rosconsole","ros-noetic-roslib","tinyxml2 >=9.0.0,<10.0a0"],"build":"py39hd766fea_5","timestamp":1674182163848,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c092094f1259a9f9cb6c4fe60864d71f","name":"ros-noetic-pluginlib","requires":[],"size":24714,"version":"1.13.0","binstar":{"package_id":"63c9d473a64974fd099fb190","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"41f9646239fb17417d5644f66c12a5cadb0aa7630fd896d127d2e7e52b2b2f3f"},"ros-noetic-pluginlib-1.13.0-py311hb90db5c_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hb90db5c_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-class-loader","ros-noetic-rosconsole","ros-noetic-roslib","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533486504,"md5":"ae61f0fd49b97e3461f0d9754779b5c3","name":"ros-noetic-pluginlib","requires":[],"size":25913,"version":"1.13.0","binstar":{"package_id":"63c9d473a64974fd099fb190","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e0c71ade650a721179f8dca22f61e395578eb6068c49e04080cc6d473bc2e4e1"},"ros-noetic-roscpp-1.15.15-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rosgraph-msgs","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-xmlrpcpp"],"build":"py39h2335ed2_5","timestamp":1674182034231,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9d744bf60ecf69334a1a4827b25bcde0","name":"ros-noetic-roscpp","requires":[],"size":488563,"version":"1.15.15","binstar":{"package_id":"63c9d475cd65eb0e14610f5a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fa60fb0d9d77d19917693a79223febc57d2d3eee39961981090718a175853955"},"ros-noetic-roscpp-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-rosgraph-msgs","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-xmlrpcpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533373300,"md5":"78e4f8574f33190c39bdef67f1da44b8","name":"ros-noetic-roscpp","requires":[],"size":497697,"version":"1.16.0","binstar":{"package_id":"63c9d475cd65eb0e14610f5a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ee4bf531b7f6b40cad9c236f830f85ae448c2e813fd39a3a5f71538c1710e9c6"},"ros-noetic-nav-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674182627449,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bed5b45950f389fb2293a82ac846fcb8","name":"ros-noetic-nav-msgs","requires":[],"size":80742,"version":"1.13.1","binstar":{"package_id":"63c9d4778ff1ad274283e3b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ab5a1df50dec63e473365fa525673ef5e349013d8dcaf1327604526f02b201cf"},"ros-noetic-nav-msgs-1.13.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533880564,"md5":"b994e85ea5d31243119471274925ea23","name":"ros-noetic-nav-msgs","requires":[],"size":100408,"version":"1.13.1","binstar":{"package_id":"63c9d4778ff1ad274283e3b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9c2f2bdeb177f7f21b9dc0298389c34f430591332791f9fa150d8b23d3c7f33b"},"ros-noetic-rosconsole-bridge-0.5.4-py39he361d1e_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-rosconsole"],"build":"py39he361d1e_5","timestamp":1674182487335,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a4f969be2f599261f077535af1d5c801","name":"ros-noetic-rosconsole-bridge","requires":[],"size":18186,"version":"0.5.4","binstar":{"package_id":"63c9d4795a31eb90f6a10e88","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"53c4c253c8d6eea4375e0f7035918d59eb6dc4c7fb05a1299cb72bf7d47c8ceb"},"ros-noetic-rosconsole-bridge-0.5.4-py311h00a3625_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h00a3625_8","build_number":8,"depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-rosconsole"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533751300,"md5":"4eee57e5dddb636018609bc264afdf4c","name":"ros-noetic-rosconsole-bridge","requires":[],"size":19037,"version":"0.5.4","binstar":{"package_id":"63c9d4795a31eb90f6a10e88","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7b2417d54d5981a5e679d034074812185a9efdb2d2489f4414e30ef7baabfcba"},"ros-noetic-tf2-0.7.6-py39he361d1e_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-rostime","ros-noetic-tf2-msgs"],"build":"py39he361d1e_5","timestamp":1674183344260,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a42af8e3770e83f2c289d6baf27ff960","name":"ros-noetic-tf2","requires":[],"size":116703,"version":"0.7.6","binstar":{"package_id":"63c9d5c02ff78d332e6f5991","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"44878308b07f08d356ef56aa5a490301801647a31163ac263c71093a455a0824"},"ros-noetic-tf2-0.7.7-py311h00a3625_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h00a3625_8","build_number":8,"depends":["console_bridge >=1.0.2,<1.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-rostime","ros-noetic-tf2-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534460825,"md5":"d65dd05154b4924d69bd68ff9ec0bc70","name":"ros-noetic-tf2","requires":[],"size":122950,"version":"0.7.7","binstar":{"package_id":"63c9d5c02ff78d332e6f5991","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d612b01de40a615b74f1801d67501bf92be997b179bf79c1bbc5f64fdc6c6d1a"},"ros-noetic-geometric-shapes-0.7.3-py39h681ae0f_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost >=1.78.0,<1.78.1.0a0","console_bridge >=1.0.2,<1.1.0a0","eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qhull >=2020.2,<2020.3.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-eigen-stl-containers","ros-noetic-octomap","ros-noetic-random-numbers","ros-noetic-resource-retriever","ros-noetic-shape-msgs","ros-noetic-visualization-msgs"],"build":"py39h681ae0f_5","timestamp":1674183578035,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bbf99c02d0fd67c1edb90ac38281b460","name":"ros-noetic-geometric-shapes","requires":[],"size":100556,"version":"0.7.3","binstar":{"package_id":"63c9d5c18ff1ad2742841c2f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1d4aa4d2737aaf1f7e875798e4b6eb3b0e2ae3e747a195948c0d0499a470fa76"},"ros-noetic-geometric-shapes-0.7.5-py311h58d7438_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h58d7438_8","build_number":8,"depends":["assimp >=5.3.1,<5.3.2.0a0","boost","console_bridge >=1.0.2,<1.1.0a0","eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qhull >=2020.2,<2020.3.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-eigen-stl-containers","ros-noetic-fcl","ros-noetic-octomap","ros-noetic-random-numbers","ros-noetic-resource-retriever","ros-noetic-shape-msgs","ros-noetic-visualization-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534658163,"md5":"615a51172cf48daa8b1c2e015c5cffcd","name":"ros-noetic-geometric-shapes","requires":[],"size":107558,"version":"0.7.5","binstar":{"package_id":"63c9d5c18ff1ad2742841c2f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"775b9b1937adbc526b25b571916291f7c7e607d8439b80ef143649074446932b"},"ros-noetic-voxel-grid-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674183759135,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e54706f58fb3a8f22cd0f0ba4ffe271e","name":"ros-noetic-voxel-grid","requires":[],"size":22810,"version":"1.17.3","binstar":{"package_id":"63c9d5c1edf45d7c2e29da9e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d14f7d44a897fca593e96be05d7e27c0e17dbfef0c471ef4472a40aca2bb8177"},"ros-noetic-voxel-grid-1.17.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534835975,"md5":"8eef620d9110a5e1f320597a75380e59","name":"ros-noetic-voxel-grid","requires":[],"size":23705,"version":"1.17.3","binstar":{"package_id":"63c9d5c1edf45d7c2e29da9e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3e581cde295bd3ade9194259a41a2ef773e0f2e9cc733d9bd17e04937cafb5f"},"ros-noetic-rosout-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-rosgraph-msgs"],"build":"py39h46ec4ef_5","timestamp":1674183067858,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0bc7fa678f33f93f91406184b121ee35","name":"ros-noetic-rosout","requires":[],"size":41487,"version":"1.15.15","binstar":{"package_id":"63c9d5c220c05f5e390870d7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1f0723077d1fc5cabe3c8b4888cc5623cebfabb303587fa2e6e5ac67da51d3cd"},"ros-noetic-rosout-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp","ros-noetic-rosgraph-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534221129,"md5":"e7216dcc4449f455d2c32622cceb8797","name":"ros-noetic-rosout","requires":[],"size":43199,"version":"1.16.0","binstar":{"package_id":"63c9d5c220c05f5e390870d7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f864757afb0349573d1bfe6eaddf64217cc6e97bb6bb091b819ab908b38cbbcf"},"ros-noetic-rospy-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genpy","ros-noetic-roscpp","ros-noetic-rosgraph","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-std-msgs","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674183176590,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6961954844e60ea00dc6b0a0e610ac72","name":"ros-noetic-rospy","requires":[],"size":143223,"version":"1.15.15","binstar":{"package_id":"63c9d5c3edf45d7c2e29daae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8fbf30d69c4ec805e01b5c57916837ad25f433dc7b7f5d36f38b78df4bf0ff09"},"ros-noetic-rospy-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genpy","ros-noetic-roscpp","ros-noetic-rosgraph","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-std-msgs","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534320645,"md5":"86cf9278d0676fff93b04ffdb65bb43c","name":"ros-noetic-rospy","requires":[],"size":189303,"version":"1.16.0","binstar":{"package_id":"63c9d5c3edf45d7c2e29daae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ade1326fb3b0dd6a688b95adb2f11fb9780d875ea37d26ee0ceeb05d69358d16"},"ros-noetic-plotjuggler-3.6.0-py39hd5b7355_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","cppzmq","libcxx >=14.0.6","lz4","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-roslib","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0","zeromq >=4.3.4,<4.4.0a0","zstd >=1.5.2,<1.6.0a0"],"build":"py39hd5b7355_6","timestamp":1681696990454,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5203046d3ba0738c299eb341a3ab1d2","name":"ros-noetic-plotjuggler","requires":[],"size":22856333,"version":"3.6.0","binstar":{"package_id":"63c9d8210273ee116a012b1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e9df951d5b0c2cc544aa9ca8e542a951839658184e5cfc28a2a6166aa8e3d1e2"},"ros-noetic-plotjuggler-3.8.9-py311h419fb81_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h419fb81_8","build_number":8,"depends":["boost","cppzmq","libcxx >=15","libprotobuf >=4.24.4,<4.24.5.0a0","lz4","numpy >=1.23.5,<2.0a0","protobuf","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp","ros-noetic-roslib","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0","zeromq >=4.3.5,<4.4.0a0","zstd >=1.5.5,<1.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535228724,"md5":"73483489797f1a45b2554dbc82e1b545","name":"ros-noetic-plotjuggler","requires":[],"size":9847974,"version":"3.8.9","binstar":{"package_id":"63c9d8210273ee116a012b1b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a23754f161584a8ab5751380a05fc1dbe2b8dc194f8da8d6317cac12835a5de"},"ros-noetic-sparse-bundle-adjustment-0.4.4-py39h960eaa4_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libblas >=3.9.0,<4.0a0","libcblas >=3.9.0,<4.0a0","libcxx >=14.0.6","liblapack >=3.9.0,<4.0a0","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","suitesparse >=5.10.1,<6.0a0"],"build":"py39h960eaa4_5","timestamp":1674183279255,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0b4dab1636fd87621052c965879a7029","name":"ros-noetic-sparse-bundle-adjustment","requires":[],"size":190855,"version":"0.4.4","binstar":{"package_id":"63c9d8248ff1ad274284ce7b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"42467d5957987b5e43e32e7e1e87c710c91d2cb269938963a0cba16387cf497b"},"ros-noetic-mbf-msgs-0.4.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674183022904,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d5b94b8ace66ed8eba96097b06a7e92d","name":"ros-noetic-mbf-msgs","requires":[],"size":133508,"version":"0.4.0","binstar":{"package_id":"63c9d826dbdf733521f617cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1777fe9620ed894ce91cedd41c2185b94b45062e216cbf33c2a8a66e4bfe59fd"},"ros-noetic-roscpp-tutorials-0.10.2-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-rostime","ros-noetic-std-msgs"],"build":"py39h2335ed2_5","timestamp":1674186298066,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"551974ea50548c2e2b9307a4382435ff","name":"ros-noetic-roscpp-tutorials","requires":[],"size":181081,"version":"0.10.2","binstar":{"package_id":"63c9e0c65a31eb90f6a59ee0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4f4a87570ffa088eebfcd1155fdfb091acf9c7d15262cc3dd1a44f329dd58f61"},"ros-noetic-roscpp-tutorials-0.10.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-rostime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534475683,"md5":"f6cdae4212f1dd3515fa8b842f156630","name":"ros-noetic-roscpp-tutorials","requires":[],"size":183397,"version":"0.10.2","binstar":{"package_id":"63c9e0c65a31eb90f6a59ee0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2125f8d615a9bd44574274c8dcc95458fcb34810ba1eecffa6ac1c228316ed6e"},"ros-noetic-bondpy-1.8.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy","ros-noetic-smclib"],"build":"py39h46ec4ef_5","timestamp":1674186039681,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1f97eb90064b75ca985bb886bcf7bab4","name":"ros-noetic-bondpy","requires":[],"size":21706,"version":"1.8.6","binstar":{"package_id":"63c9e0c768b198bb95994813","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"baddd3d6b1dd7e07902c5a3f94469662825a727a290e58639a1a4db537c49455"},"ros-noetic-bondpy-1.8.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rospy","ros-noetic-smclib"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535503001,"md5":"d6fa97dabbbaeda271bb9a243b349611","name":"ros-noetic-bondpy","requires":[],"size":26599,"version":"1.8.6","binstar":{"package_id":"63c9e0c768b198bb95994813","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a36e8fa91bc1fcefba9c592fedf91b0e561470c09831e9afe3d10a75719abab"},"ros-noetic-control-msgs-1.5.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-trajectory-msgs"],"build":"py39h46ec4ef_5","timestamp":1674186495018,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e16df8f8900ce203296ae541505ccb47","name":"ros-noetic-control-msgs","requires":[],"size":145187,"version":"1.5.2","binstar":{"package_id":"63c9e0c8cd65eb0e1465198b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a9ae2ec5dbe1c6d46994c7dcc07d7d96c239680c7d9ba89d2150c1e2636fdaac"},"ros-noetic-control-msgs-1.5.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs","ros-noetic-trajectory-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535115724,"md5":"0bf9550a1fcc33af897a2b5195c8a325","name":"ros-noetic-control-msgs","requires":[],"size":185083,"version":"1.5.2","binstar":{"package_id":"63c9e0c8cd65eb0e1465198b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aadf6fc591eff6d8e4094f9347816faa0c470ad27bc77dee099d942026fddaee"},"ros-noetic-urdfdom-py-0.4.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674188372524,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6288f1989a100ec6c54189835eba446d","name":"ros-noetic-urdfdom-py","requires":[],"size":37238,"version":"0.4.6","binstar":{"package_id":"63c9e0f55a31eb90f6a5ab76","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"24c3fd0780336e5029bcc2e17ec291f83985329d875d34d07ffca9010cf06097"},"ros-noetic-urdfdom-py-0.4.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rospy"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573745465,"md5":"6d3ecc6732891ccfb328b5229a5c1eb5","name":"ros-noetic-urdfdom-py","requires":[],"size":48351,"version":"0.4.6","binstar":{"package_id":"63c9e0f55a31eb90f6a5ab76","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a649c200bf3a467cdf7d9084bde8e672de123a6b956311f2ff7e8a05a72c93f8"},"ros-noetic-roslaunch-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","paramiko","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosclean","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-rosmaster","ros-noetic-rosout","ros-noetic-rosparam","ros-noetic-rosunit","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674187912526,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f873e4974edabdaad3d23eff2ac0e903","name":"ros-noetic-roslaunch","requires":[],"size":141916,"version":"1.15.15","binstar":{"package_id":"63c9e0f72b70bce830774a1e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"51bcfa264a19a727e1713987b3e4dfb96969e64d5b1b555f4037bfa25a34cd3f"},"ros-noetic-roslaunch-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","paramiko","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","pyyaml","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosclean","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-rosmaster","ros-noetic-rosout","ros-noetic-rosparam","ros-noetic-rosunit","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573516908,"md5":"30dc3142bed85c4cffda93e340d53a2c","name":"ros-noetic-roslaunch","requires":[],"size":191766,"version":"1.16.0","binstar":{"package_id":"63c9e0f72b70bce830774a1e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0da992d655b4224a5f9c7b7ad243909d167ad402f60fc5891f55a9c0f1b60c3e"},"ros-noetic-tf2-eigen-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-tf2"],"build":"py39h46ec4ef_5","timestamp":1674188497180,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bb905ab7ec20ecb85a32a5606b518661","name":"ros-noetic-tf2-eigen","requires":[],"size":14365,"version":"0.7.6","binstar":{"package_id":"63c9ea252ff78d332e775793","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dc6b2ef9020b65e9968ada00ecb2f360595ae46891622970fe905a3cd008095b"},"ros-noetic-tf2-eigen-0.7.7-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-tf2"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573863457,"md5":"7b3e78723d4dd9461138b64a58fc51e7","name":"ros-noetic-tf2-eigen","requires":[],"size":15131,"version":"0.7.7","binstar":{"package_id":"63c9ea252ff78d332e775793","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57fb7f3f2608675546bf8a9ff0cd65b3156619588d9ee74f1fdb0216bc7780e3"},"ros-noetic-tf2-py-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy","ros-noetic-tf2"],"build":"py39h46ec4ef_5","timestamp":1674188271181,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a7c15896320681a56628787837b9d736","name":"ros-noetic-tf2-py","requires":[],"size":35940,"version":"0.7.6","binstar":{"package_id":"63c9ea2859c09271a4483f0a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8c123521fa288796f1ede586dd193fe3d752d2ba35dbd40496540a8314eb426"},"ros-noetic-tf2-py-0.7.7-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rospy","ros-noetic-tf2"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573667998,"md5":"0a6e8d4b4c178258857b088d55616bf7","name":"ros-noetic-tf2-py","requires":[],"size":36699,"version":"0.7.7","binstar":{"package_id":"63c9ea2859c09271a4483f0a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"07e619259995cef7e0fd219b04b9d0803899a4206561ea0d2f777d576891ab6f"},"ros-noetic-rqt-gui-0.5.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674187434526,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f584d68f870f9097c02916dc95f24c9b","name":"ros-noetic-rqt-gui","requires":[],"size":106424,"version":"0.5.3","binstar":{"package_id":"63c9ea292ff78d332e775808","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a5cd22d0c0cc673a179565f31d2ba1997cfe06127b96811bddfa1b8f4760c9cd"},"ros-noetic-rqt-gui-0.5.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706574000148,"md5":"c6053fa7cc3c1bbff0ab5924a95b3698","name":"ros-noetic-rqt-gui","requires":[],"size":111937,"version":"0.5.3","binstar":{"package_id":"63c9ea292ff78d332e775808","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1daf5ac35d109256854353c68832171ab4958ce73b2801847e9ff66b97c12f31"},"ros-noetic-bondcpp-1.8.6-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-bond","ros-noetic-roscpp","ros-noetic-smclib"],"build":"py39h2335ed2_5","timestamp":1674185764411,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"77de93dd6f1ddda6eca6930af454bf6c","name":"ros-noetic-bondcpp","requires":[],"size":62801,"version":"1.8.6","binstar":{"package_id":"63c9ea2dcd65eb0e1468189a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"172a0181a4c8be682cbd6260bb7c3056edc521be7e4303d49fafd716c2e1c8f4"},"ros-noetic-bondcpp-1.8.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-bond","ros-noetic-roscpp","ros-noetic-smclib"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534189351,"md5":"9eb195fa4a6f9e6c9190fe5d89ec6d33","name":"ros-noetic-bondcpp","requires":[],"size":63937,"version":"1.8.6","binstar":{"package_id":"63c9ea2dcd65eb0e1468189a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ebfaec6347c169dc28be2d300d480565561437f765e1fe607a16d72c6c8601c5"},"ros-noetic-hardware-interface-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674185902709,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc9e784d1b7ed360227414afa2fd07ff","name":"ros-noetic-hardware-interface","requires":[],"size":25097,"version":"0.19.6","binstar":{"package_id":"63c9ea2ddbdf733521fe7e7a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e56c240b17429257b87dd171f98f84621b840257dc11cc5b0f7bff29b41f9230"},"ros-noetic-hardware-interface-0.20.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534289492,"md5":"cfe143f433c63c16c66ddfbd69739833","name":"ros-noetic-hardware-interface","requires":[],"size":26470,"version":"0.20.0","binstar":{"package_id":"63c9ea2ddbdf733521fe7e7a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e2a81736980810ed1eea0464522518eb4c2fadfac061b13c718ca51840c62dc"},"ros-noetic-dynamixel-sdk-3.7.51-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674191359224,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1fe2e0ba335161da03496fa990ed1f33","name":"ros-noetic-dynamixel-sdk","requires":[],"size":76748,"version":"3.7.51","binstar":{"package_id":"63c9edc8912363225b8c59a2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"943b8a4ce20a85865e42320a5830ceda06cf55744dd4a60c02cba7e132667f34"},"ros-noetic-dynamixel-sdk-3.7.51-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp","ros-noetic-rospy"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535761500,"md5":"bbf3c500042817760332dc5c7ae09752","name":"ros-noetic-dynamixel-sdk","requires":[],"size":86606,"version":"3.7.51","binstar":{"package_id":"63c9edc8912363225b8c59a2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d73121f8b63f38f7b1b433f221b8f2bfe1321cb914eb1da9e6972e095023d843"},"ros-noetic-tf2-bullet-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["bullet","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-tf2"],"build":"py39h46ec4ef_5","timestamp":1674189223850,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fdfd32fc05966ee814d8114bbf5e1dff","name":"ros-noetic-tf2-bullet","requires":[],"size":13007,"version":"0.7.6","binstar":{"package_id":"63c9edc90273ee116a06ee2d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9a4fc0b64a67d88c670ddaae203cbca181028d85e3c4dc0fd14cf09ae2293969"},"ros-noetic-tf2-bullet-0.7.7-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["bullet","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-tf2"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535891998,"md5":"e9ad0fa9e4c60e1519825d747bbd5e6b","name":"ros-noetic-tf2-bullet","requires":[],"size":13718,"version":"0.7.7","binstar":{"package_id":"63c9edc90273ee116a06ee2d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b9c89d8a516ac043e6a5fb4a52a9c7e1ffda1d975324202782df8633effa299f"},"ros-noetic-rostest-1.15.15-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosgraph","ros-noetic-roslaunch","ros-noetic-rosmaster","ros-noetic-rospy","ros-noetic-rosunit"],"build":"py39h2335ed2_5","timestamp":1674271519404,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cfc7f8e86dc3a6bb3d1a44badd869375","name":"ros-noetic-rostest","requires":[],"size":38682,"version":"1.15.15","binstar":{"package_id":"63c9ee545a31eb90f6aa0eee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a23c56159eb5cffdbe9b75fb81a4ce31db2991dc714f3a58b833d10c634f0783"},"ros-noetic-rostest-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosgraph","ros-noetic-roslaunch","ros-noetic-rosmaster","ros-noetic-rospy","ros-noetic-rosunit"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706574787294,"md5":"6f57345cc2facc6f5f076742d9adc212","name":"ros-noetic-rostest","requires":[],"size":45972,"version":"1.16.0","binstar":{"package_id":"63c9ee545a31eb90f6aa0eee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e0dd513397ce73f74c5d196e41740c0f49526f019aa7cf7a4dcda9dd56dd108"},"ros-noetic-controller-interface-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-hardware-interface","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674272128886,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"50bacc32f338e7f379822e333153e62c","name":"ros-noetic-controller-interface","requires":[],"size":17778,"version":"0.19.6","binstar":{"package_id":"63c9ee55a64974fd09a528b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"10619f72bd82aaff6c8abe404aaf7290e000e0e045a6dde41e0e29b1e211bf69"},"ros-noetic-controller-interface-0.20.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-hardware-interface","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535778307,"md5":"06ad94856fc6c3aea32068e52367715e","name":"ros-noetic-controller-interface","requires":[],"size":18668,"version":"0.20.0","binstar":{"package_id":"63c9ee55a64974fd09a528b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9573fef09d70e6de734f9b4f5bd4185a5df6b69e748907ec929718f029761fbd"},"ros-noetic-rqt-gui-py-0.5.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui"],"build":"py39h46ec4ef_5","timestamp":1674271744529,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"820c06c9241be92208ae7ce4fc094b37","name":"ros-noetic-rqt-gui-py","requires":[],"size":16611,"version":"0.5.3","binstar":{"package_id":"63c9ee5620c05f5e390ad6e5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30b4f9a2882a26763b7a8b7a7cfaeff8b95cbc3c513387f7cdbb8095c60e7a7e"},"ros-noetic-rqt-gui-py-0.5.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706574934044,"md5":"ea1cd5b0c0862695fbe2e3cdc79fcdf4","name":"ros-noetic-rqt-gui-py","requires":[],"size":19246,"version":"0.5.3","binstar":{"package_id":"63c9ee5620c05f5e390ad6e5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f231263bcf79be0cd0b0ee2cdb4193bbcad18239dde401732639bb40b7de25a6"},"ros-noetic-nodelet-1.10.2-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-bondcpp","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-std-msgs"],"build":"py39h83befe1_5","timestamp":1674271977370,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4a14303f1c4d7896e848415684786f7d","name":"ros-noetic-nodelet","requires":[],"size":167945,"version":"1.10.2","binstar":{"package_id":"63c9ee58dbdf733521006697","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a1420b90bc9f01fa7b5455617c190a291b56c2eb19d554523a819ae54728da3"},"ros-noetic-nodelet-1.11.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-bondcpp","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535676190,"md5":"13d9bb82023810da70a55090352c9173","name":"ros-noetic-nodelet","requires":[],"size":177205,"version":"1.11.0","binstar":{"package_id":"63c9ee58dbdf733521006697","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce46868189d47214e5899de98bbfa3c00cf69762ca8b18d99c4c30ea07345b57"},"ros-noetic-transmission-interface-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-hardware-interface","ros-noetic-pluginlib","ros-noetic-roscpp","tinyxml"],"build":"py39h46ec4ef_5","timestamp":1674275918065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8e566fb08e46f8bcfb8d4257c4f5a48c","name":"ros-noetic-transmission-interface","requires":[],"size":204713,"version":"0.19.6","binstar":{"package_id":"63c9ee82d0e8c095e22b08f1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f4c3d7dfa71fd092c09d1aa28096991e7a00dc4be05ef0b718a2e5c1e12f266d"},"ros-noetic-transmission-interface-0.20.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-hardware-interface","ros-noetic-pluginlib","ros-noetic-roscpp","tinyxml"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535981877,"md5":"b2d7f36923c271311904d5901a04a6fe","name":"ros-noetic-transmission-interface","requires":[],"size":209776,"version":"0.20.0","binstar":{"package_id":"63c9ee82d0e8c095e22b08f1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30695459da33c95f8ef4e564c2e6751d0e76c184a5ba6b0c76325bf9cd5251cf"},"ros-noetic-rosserial-python-0.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyserial","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-rospy","ros-noetic-rosserial-msgs"],"build":"py39h46ec4ef_5","timestamp":1674187840436,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e3f27ea530a5a0210320804685b0fbd0","name":"ros-noetic-rosserial-python","requires":[],"size":30230,"version":"0.9.2","binstar":{"package_id":"63c9ee832ff78d332e79491f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"36a6bb40cad1b43b9a9ad79b3e0e4fcb37200a52bd34cb82b2f2541d3db84ef1"},"ros-noetic-rosserial-python-0.9.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","pyserial","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-rospy","ros-noetic-rosserial-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706536091363,"md5":"9ff18ac75b8d6c733361c3966b44ae2f","name":"ros-noetic-rosserial-python","requires":[],"size":39786,"version":"0.9.2","binstar":{"package_id":"63c9ee832ff78d332e79491f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e45449e6bdfc8cfca89b0c66f2172fd43d38ad75846ef893b7a94352fa9ce5d7"},"ros-noetic-bond-core-1.8.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-bond","ros-noetic-bondcpp","ros-noetic-bondpy","ros-noetic-smclib"],"build":"py39h46ec4ef_5","timestamp":1674187945901,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"530f309752d70d2db6b5b12634b21750","name":"ros-noetic-bond-core","requires":[],"size":8188,"version":"1.8.6","binstar":{"package_id":"63c9ee848ff1ad27428eb132","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4079b4440c42b468d78460bf8bdc0ea4d110fc77da0fc4b268750da2d297b8a1"},"ros-noetic-bond-core-1.8.6-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-bond","ros-noetic-bondcpp","ros-noetic-bondpy","ros-noetic-smclib"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573671498,"md5":"fd54280cb6000620865800962d38b0df","name":"ros-noetic-bond-core","requires":[],"size":8933,"version":"1.8.6","binstar":{"package_id":"63c9ee848ff1ad27428eb132","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"02d5239f8969152044781776b819aabf5069bd317bad0b3eac72a60d53353ce5"},"ros-noetic-turtlesim-0.10.2-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-roslib","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-std-srvs","xorg-libx11","xorg-libxext"],"build":"py39h2335ed2_5","timestamp":1674188254834,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"da833f38519126ec08c8d862deb14fe0","name":"ros-noetic-turtlesim","requires":[],"size":261065,"version":"0.10.2","binstar":{"package_id":"63c9ee84989160afcf9b82d0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"575977c01908e96ccc30714d103f184902fe0df7af2566dbd5b226a4612a13f2"},"ros-noetic-turtlesim-0.10.2-py311h15ddf78_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h15ddf78_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-roslib","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-std-srvs","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534278670,"md5":"9f102aaa41c3c2639efff287b05bdb79","name":"ros-noetic-turtlesim","requires":[],"size":266150,"version":"0.10.2","binstar":{"package_id":"63c9ee84989160afcf9b82d0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30c2151723bc8866c68294c387f04fd7a905b745719de2f4774b1801147c1917"},"ros-noetic-kdl-parser-py-1.14.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python-orocos-kdl","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-urdfdom-py"],"build":"py39h46ec4ef_5","timestamp":1674276974987,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6a271096a944f500c7e36b69d2faa4fe","name":"ros-noetic-kdl-parser-py","requires":[],"size":16797,"version":"1.14.2","binstar":{"package_id":"63c9f11bd0e8c095e22c66eb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"518b064e3ac0f565033a01227c762b7b135b245c660313931a97a7570c6a644c"},"ros-noetic-kdl-parser-py-1.14.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python-orocos-kdl","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-urdfdom-py"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575778315,"md5":"3cd1059a39718f01d4942a5c8dd8cc19","name":"ros-noetic-kdl-parser-py","requires":[],"size":19282,"version":"1.14.2","binstar":{"package_id":"63c9f11bd0e8c095e22c66eb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5c51f6368f185637bfaa529b0bd44d9418761540ceeb75e5607a168c0106e774"},"ros-noetic-pluginlib-tutorials-0.2.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674276692572,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5f9d0009f62c9144f8459fd24086959d","name":"ros-noetic-pluginlib-tutorials","requires":[],"size":73924,"version":"0.2.0","binstar":{"package_id":"63c9f1925a31eb90f6ab6c03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4863617c05727f517721bd560ddd134b511bbd68b8c59b56e55102a806e01bcb"},"ros-noetic-pluginlib-tutorials-0.2.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-pluginlib","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534773464,"md5":"1b2432f473e80ef067d6bf6935b189c3","name":"ros-noetic-pluginlib-tutorials","requires":[],"size":75501,"version":"0.2.0","binstar":{"package_id":"63c9f1925a31eb90f6ab6c03","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"881bfb288e4ec4e1d2bf50ebe90159d8a8818c606a76c4aa4b8e5fe3a82ee207"},"ros-noetic-rqt-top-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","psutil","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py"],"build":"py39h46ec4ef_5","timestamp":1674297629101,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d19e334abdb12bb3db82522abfe0b6be","name":"ros-noetic-rqt-top","requires":[],"size":21309,"version":"0.4.10","binstar":{"package_id":"63c9f1a25a31eb90f6ab77f6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"65e9b10981a603980632cadb3f39331c347cb226d21e4baae5fc5ece9d8879da"},"ros-noetic-rqt-top-0.4.10-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","psutil","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575504262,"md5":"4a619dc854b82cffbf8702759f216f36","name":"ros-noetic-rqt-top","requires":[],"size":26078,"version":"0.4.10","binstar":{"package_id":"63c9f1a25a31eb90f6ab77f6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c6453bcd777a3da9dc6bb18435c06f2dad5824fbf49b9c4f677e48482bd6c4aa"},"ros-noetic-rospy-tutorials-0.10.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rospy","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674276099848,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cf5aaaa17790fc359bd319a96a683d75","name":"ros-noetic-rospy-tutorials","requires":[],"size":46360,"version":"0.10.2","binstar":{"package_id":"63c9f1a3c37c80a75b45311d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7ced38e53250350b8fa33cb3afb61cadba704f63795a03815a2bd4287daefb71"},"ros-noetic-rospy-tutorials-0.10.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-rospy","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576814323,"md5":"71937901a2fd3052a3f04410c75aa0cd","name":"ros-noetic-rospy-tutorials","requires":[],"size":53563,"version":"0.10.2","binstar":{"package_id":"63c9f1a3c37c80a75b45311d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b716f34b2ffc4199f6932e1a89ecfc1d71b807a3558b411e085f151796abea76"},"ros-noetic-rqt-runtime-monitor-0.5.9-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674297441533,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a805e261f3faa980e70580bcd13e5a2b","name":"ros-noetic-rqt-runtime-monitor","requires":[],"size":21573,"version":"0.5.9","binstar":{"package_id":"63c9f1a5a64974fd09a5942b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5c1428ef6acfdba6c2d4e85f6164834fcb244c7ae1b4bc62731d89aaaf122b5"},"ros-noetic-rqt-runtime-monitor-0.5.10-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575350033,"md5":"d965ca4aa028b6a4dc20f0cb805b454d","name":"ros-noetic-rqt-runtime-monitor","requires":[],"size":26893,"version":"0.5.10","binstar":{"package_id":"63c9f1a5a64974fd09a5942b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"775bfc8d03d3dd98af8a6e809ed87afd8c879ae0c0906a8ec9ec18f9b982a9b4"},"ros-noetic-rqt-web-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-webkit-dependency","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674297535238,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee838a01a96198bf0c2165d51248af0f","name":"ros-noetic-rqt-web","requires":[],"size":19549,"version":"0.4.10","binstar":{"package_id":"63c9f1a6dbdf733521024dae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2e37f6d43cf69447703012a9d5dde8fcda4695aa4468edbbc75b65101b39be8e"},"ros-noetic-rqt-web-0.4.10-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-webkit-dependency","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575431704,"md5":"0c920d25440ae78a961040842e795f87","name":"ros-noetic-rqt-web","requires":[],"size":22918,"version":"0.4.10","binstar":{"package_id":"63c9f1a6dbdf733521024dae","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ce56a02534004fa6278accb8a63c86203cb684fa39188eb12184bb650b45a27c"},"ros-noetic-rqt-shell-0.4.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674297720650,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2faea5003d65ec327e185c807c783eef","name":"ros-noetic-rqt-shell","requires":[],"size":22454,"version":"0.4.11","binstar":{"package_id":"63c9f1a7b05590e2b1c00213","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"42644ae140c71c5872412d68e64ce233ef7e090b48043f052690a0152aba7fd1"},"ros-noetic-rqt-shell-0.4.11-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575582188,"md5":"716788177b3911cf9b1da8bc6547ccf1","name":"ros-noetic-rqt-shell","requires":[],"size":27101,"version":"0.4.11","binstar":{"package_id":"63c9f1a7b05590e2b1c00213","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d8209f34efdd38ba0a0dfbd5e7d19c253c2ecfb9e27ad6500bf14b4e9082f8e3"},"ros-noetic-hector-map-tools-0.5.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nav-msgs"],"build":"py39h46ec4ef_5","timestamp":1674188517267,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"879397ccf3b4ffdda3e56e67795f38cc","name":"ros-noetic-hector-map-tools","requires":[],"size":14546,"version":"0.5.2","binstar":{"package_id":"63c9f21959c09271a44a4e57","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"94c37bf222a88bff8b62cb92e3693f38becefeb1070a540513898b09025614e3"},"ros-noetic-hector-map-tools-0.5.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-nav-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534497039,"md5":"0cf6b5bc995f44d32097fb59cf2915cc","name":"ros-noetic-hector-map-tools","requires":[],"size":15308,"version":"0.5.2","binstar":{"package_id":"63c9f21959c09271a44a4e57","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"15c1a0bea6e3d1bc9bec0259f6b73c0228c954c0cf911a7fded2db9b4dae68d8"},"ros-noetic-visualization-marker-tutorials-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674276497714,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ab369629e2072175e45c5a747a5b3321","name":"ros-noetic-visualization-marker-tutorials","requires":[],"size":28967,"version":"0.11.0","binstar":{"package_id":"63c9f21959c09271a44a4e6d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"42bf4b7c3190aeb2605ff2f368b68809c31d4fce8f1e47dc685f70734a9a045a"},"ros-noetic-visualization-marker-tutorials-0.11.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp","ros-noetic-visualization-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534628513,"md5":"b80ae8046e9757376c7d080cf0462d61","name":"ros-noetic-visualization-marker-tutorials","requires":[],"size":30174,"version":"0.11.0","binstar":{"package_id":"63c9f21959c09271a44a4e6d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"73a49ced2c05b9a0992c013e3b8ded83abe8aa15378fd7df154ba3b84add60cd"},"ros-noetic-rqt-py-console-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674297910726,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c19b97db5f5c1b6a5aa1f6788c66ec5e","name":"ros-noetic-rqt-py-console","requires":[],"size":19391,"version":"0.4.10","binstar":{"package_id":"63c9f21ac37c80a75b4552b6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78f56517a773681ad6848a33344400b22faaf9d937e8bb0a192264d82369e523"},"ros-noetic-rqt-py-console-0.4.10-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575739035,"md5":"41a240e63163fc13fc54b5579c976fdf","name":"ros-noetic-rqt-py-console","requires":[],"size":22844,"version":"0.4.10","binstar":{"package_id":"63c9f21ac37c80a75b4552b6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e59859597dfc90977336c7e3f9e337068861d19a15629165f63856f337826a5"},"ros-noetic-hector-nav-msgs-0.5.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674188398426,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e213de05844cd853c752e7a4c9f9f5b2","name":"ros-noetic-hector-nav-msgs","requires":[],"size":44482,"version":"0.5.2","binstar":{"package_id":"63c9f21b2ff78d332e7a8c50","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"22732221bb7ba7df56826e4da256f8db0bbf1cad623971347f7517baabff7928"},"ros-noetic-hector-nav-msgs-0.5.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534396646,"md5":"c0ba78289c4c8a35a5d5cd6ddd26d0a3","name":"ros-noetic-hector-nav-msgs","requires":[],"size":54168,"version":"0.5.2","binstar":{"package_id":"63c9f21b2ff78d332e7a8c50","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b30b98f62551a337f6e6d0a2c75727bf764a6b8897d280379289a077584b5d2"},"ros-noetic-urdf-1.13.2-py39hce154db_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-rosconsole-bridge","ros-noetic-roscpp","tinyxml","tinyxml2 >=9.0.0,<10.0a0","urdfdom >=3.1.0,<3.2.0a0","urdfdom_headers"],"build":"py39hce154db_5","timestamp":1674277387110,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"88d23eeabbf59209a879b221d00f60b9","name":"ros-noetic-urdf","requires":[],"size":83768,"version":"1.13.2","binstar":{"package_id":"63c9f233c37c80a75b456731","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2793a9f3cea3bae4db43e8609d4e1ad7b9e68d300943dc4805962d79e33fecb2"},"ros-noetic-urdf-1.13.2-py311h5b10735_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h5b10735_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-pluginlib","ros-noetic-rosconsole-bridge","ros-noetic-roscpp","tinyxml","tinyxml2 >=10.0.0,<11.0a0","urdfdom >=4.0.0,<4.1.0a0","urdfdom_headers"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576754440,"md5":"c5ec4ef5fd8f1b0943f0656c07211cf1","name":"ros-noetic-urdf","requires":[],"size":84965,"version":"1.13.2","binstar":{"package_id":"63c9f233c37c80a75b456731","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"32fbf88d293887541d20d8665d64de3ebb9371fbb30ba0657902cdf58e37995c"},"ros-noetic-xacro-1.14.14-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roslaunch"],"build":"py39h46ec4ef_5","timestamp":1674298019648,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5f2e364f3a39926e585d06c0835744e4","name":"ros-noetic-xacro","requires":[],"size":44020,"version":"1.14.14","binstar":{"package_id":"63c9f236b23346582ca98c5f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bae950f9c3e8a214ac77af8d05be46acfdf109bd9df680c015f24bb66150c2d9"},"ros-noetic-xacro-1.14.17-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roslaunch"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576860939,"md5":"4701e77e83e4a4c4a783ba949618ea6e","name":"ros-noetic-xacro","requires":[],"size":57047,"version":"1.14.17","binstar":{"package_id":"63c9f236b23346582ca98c5f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"172b792f4334785b827307fec22ae82e0746f44367c5cf18cdd793bfbda03933"},"ros-noetic-topic-tools-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-xmlrpcpp"],"build":"py39h46ec4ef_5","timestamp":1674276755071,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c6e215e13c1a978b1a5728d4bcf88dd8","name":"ros-noetic-topic-tools","requires":[],"size":172571,"version":"1.15.15","binstar":{"package_id":"63c9f23759c09271a44a50b0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d5700304e26ec806bcf7c1721962de4d85ba469075600b6c7c72d381c1b7a808"},"ros-noetic-topic-tools-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-xmlrpcpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576278655,"md5":"a75f2fa9da5d254159ad5fec1438ca3e","name":"ros-noetic-topic-tools","requires":[],"size":174145,"version":"1.16.0","binstar":{"package_id":"63c9f23759c09271a44a50b0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b1f5bf26f4492761bf5ac4e1f9a9b789d6839c4b1454775826d05e5f93b3c28"},"ros-noetic-message-filters-1.15.15-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole","ros-noetic-roscpp"],"build":"py39h2335ed2_5","timestamp":1674277190136,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"185441f06c7a1f91d4eace65a394a37b","name":"ros-noetic-message-filters","requires":[],"size":43035,"version":"1.15.15","binstar":{"package_id":"63c9f239edf45d7c2e2f4f0f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7a6dce5ee4cb9534d6e1f55640431eef71791c473472b6f7a872d5692f9cf253"},"ros-noetic-message-filters-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosconsole","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576611614,"md5":"afa24b86b5264200bdea52eeb20e95d5","name":"ros-noetic-message-filters","requires":[],"size":46397,"version":"1.16.0","binstar":{"package_id":"63c9f239edf45d7c2e2f4f0f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ebd52a719ea63b3197b38f282b1d89b79711e278b59c8ae886bdc07e337fc0e5"},"ros-noetic-realsense2-description-2.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674355611624,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b2e134e54e99da83b28d154ec7e24389","name":"ros-noetic-realsense2-description","requires":[],"size":21688350,"version":"2.3.2","binstar":{"package_id":"63ca0b83d0e8c095e2399571","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"94e10e5e8ad8eaa1aba01888ca13e05bf623820ceec935d77a0e909a98a1d68f"},"ros-noetic-realsense2-description-2.3.2-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-xacro"],"subdir":"osx-arm64","timestamp":1693382359199,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py39h46ec4ef_7","md5":"ce21f3a71972b132c7094368d6fad98b","name":"ros-noetic-realsense2-description","requires":[],"size":21672852,"version":"2.3.2","binstar":{"package_id":"63ca0b83d0e8c095e2399571","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8a8ddc0a20429b6008790cfd88918dc44a7993c6ed583b8d4c583073214ef89c"},"ros-noetic-realsense2-description-2.3.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-xacro"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706577489198,"md5":"4cdfa6196a0bb58cf615cbe3ae1267b8","name":"ros-noetic-realsense2-description","requires":[],"size":21656157,"version":"2.3.2","binstar":{"package_id":"63ca0b83d0e8c095e2399571","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"247c8a52ad4830b5ce84091eecc2d19248e8d38aeb3c06d5fbcc4c25acab0e61"},"ros-noetic-moveit-resources-prbt-support-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674356729524,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dd4de785608cae819d57d5c97b5243b2","name":"ros-noetic-moveit-resources-prbt-support","requires":[],"size":1083732,"version":"0.8.2","binstar":{"package_id":"63ca0b84c37c80a75b525288","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1b48d20d467f99f8d5b49d58c68ef5b5e22df9df758680d1999017f02f048718"},"ros-noetic-moveit-resources-prbt-support-0.8.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-xacro"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706672442026,"md5":"4cd5c51ca65fae2b09c470a656a8abaf","name":"ros-noetic-moveit-resources-prbt-support","requires":[],"size":1082241,"version":"0.8.3","binstar":{"package_id":"63ca0b84c37c80a75b525288","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"16a0a8ff1ffb86b2bfbd5fc6b4736097cf525e91fd0d982b46d7e40ad1e0e800"},"ros-noetic-nodelet-tutorial-math-0.2.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674276684171,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"16c240bb3dad4fd495e78e8bb54b73df","name":"ros-noetic-nodelet-tutorial-math","requires":[],"size":34865,"version":"0.2.0","binstar":{"package_id":"63ca0b85d0e8c095e23995ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0516b07ae4d1f93ef063e165f801e05447dc23cd462817f507fb3f8feb03234a"},"ros-noetic-nodelet-tutorial-math-0.2.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573809628,"md5":"1af028fac1c4a084dd66269b1e698fc9","name":"ros-noetic-nodelet-tutorial-math","requires":[],"size":35820,"version":"0.2.0","binstar":{"package_id":"63ca0b85d0e8c095e23995ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2b945013a31a7fc818b2298ec35741fcd8c9e63d0963221b6a995623353f9d03"},"ros-noetic-velodyne-description-1.0.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-urdf","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674355478284,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0c5fb2f4f049eb7b7f2907cb3ace01c1","name":"ros-noetic-velodyne-description","requires":[],"size":303381,"version":"1.0.13","binstar":{"package_id":"63ca0b8868b198bb959f153d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"51a3e85819fdc6c976c8f45b5105aeb62ad8ff4568bcfbe89cc8243f3aaaea87"},"ros-noetic-turtlebot3-teleop-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674276834974,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"17ba0bce802152facb30052b165dc112","name":"ros-noetic-turtlebot3-teleop","requires":[],"size":14191,"version":"1.2.5","binstar":{"package_id":"63ca0d065a31eb90f6b3d898","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7db17b557dae68a2630ed3e4ad8e96977d6336b81f176ad704343c759f6d2741"},"ros-noetic-turtlebot3-teleop-1.2.5-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-rospy"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535515090,"md5":"8e60c945082e8f775c6e77e8683823bd","name":"ros-noetic-turtlebot3-teleop","requires":[],"size":15317,"version":"1.2.5","binstar":{"package_id":"63ca0d065a31eb90f6b3d898","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b4e68e4e4bb98ef504d3090c87d8460f142e263c8c577582f45ba8f05de5f56e"},"ros-noetic-class-loader-0.5.0-py39h1ebbbca_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","poco >=1.12.4,<1.12.5.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h1ebbbca_5","timestamp":1674271326377,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eebb4c8e312c9bb1d88bcc0ce62117f2","name":"ros-noetic-class-loader","requires":[],"size":62825,"version":"0.5.0","binstar":{"package_id":"63ca16df2b70bce830792776","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9856be588d642e4a7becc30fd495d8a22d36b12d9d17640487827deaa977dbb6"},"ros-noetic-class-loader-0.5.0-py311h92f7659_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h92f7659_8","build_number":8,"depends":["boost-cpp","console_bridge >=1.0.2,<1.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","poco >=1.12.4,<1.12.5.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527909983,"md5":"17c54b41d096be56e69ecf11b9ed20a5","name":"ros-noetic-class-loader","requires":[],"size":64271,"version":"0.5.0","binstar":{"package_id":"63ca16df2b70bce830792776","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4b65445e8884127939ceeef69aa1436bf370bbb0e138663ca090b287a3d5db4f"},"ros-noetic-rosbag-1.15.15-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pycryptodome","pycryptodomex","python 3.9.* *_cpython","python-gnupg","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genmsg","ros-noetic-genpy","ros-noetic-rosbag-storage","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-std-srvs","ros-noetic-topic-tools","ros-noetic-xmlrpcpp","rospkg"],"build":"py39h2335ed2_5","timestamp":1674297698045,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e08271745e624f59e674adaefa448e3d","name":"ros-noetic-rosbag","requires":[],"size":497562,"version":"1.15.15","binstar":{"package_id":"63ca19722ff78d332e86ddb8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"804c82cd5b9ebfd397a8cdac4115ca21648ce696e6f2afaf875435b3430f32ac"},"ros-noetic-rosbag-1.16.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","pycryptodome","pycryptodomex","python 3.11.* *_cpython","python-gnupg","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-genmsg","ros-noetic-genpy","ros-noetic-rosbag-storage","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-std-srvs","ros-noetic-topic-tools","ros-noetic-xmlrpcpp","rospkg"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706671880276,"md5":"7509b86c55eef17b7a39b89ee6db4cb0","name":"ros-noetic-rosbag","requires":[],"size":554445,"version":"1.16.0","binstar":{"package_id":"63ca19722ff78d332e86ddb8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"917a0c34be8c416d14329dff19f68a66f0d2b307e79a73726b1c40246afc3705"},"ros-noetic-diagnostic-aggregator-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-bondcpp","ros-noetic-bondpy","ros-noetic-diagnostic-msgs","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-xmlrpcpp"],"build":"py39h46ec4ef_5","timestamp":1674356271129,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0363ddab9b8af47cdc1a8521e9cd3e41","name":"ros-noetic-diagnostic-aggregator","requires":[],"size":335298,"version":"1.11.0","binstar":{"package_id":"63ca19738ff1ad2742a27c7a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"757e5a94be9b8f9758ff553954bf49319b3e0327571f3bb45cc4827937f8cf7d"},"ros-noetic-diagnostic-aggregator-1.11.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-bondcpp","ros-noetic-bondpy","ros-noetic-diagnostic-msgs","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-xmlrpcpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576418827,"md5":"244fb0f75a9e55a229ceb92ca7414399","name":"ros-noetic-diagnostic-aggregator","requires":[],"size":331757,"version":"1.11.0","binstar":{"package_id":"63ca19738ff1ad2742a27c7a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5cfe505d283d3d3fc2b5c328216876c0b741c1caebae6fe3d9d2829d279319c7"},"ros-noetic-diagnostic-updater-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-roscpp","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674356036559,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fd397cd76109f201ab8124abe3cb719d","name":"ros-noetic-diagnostic-updater","requires":[],"size":55729,"version":"1.11.0","binstar":{"package_id":"63ca19745a31eb90f6b81ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e7173b7bfb17638863d2289b33b783372a446d6ddc4f8f3f480550ee7f7d54b4"},"ros-noetic-diagnostic-updater-1.11.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-roscpp","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576548845,"md5":"5d8035e1434b6b1027b069031433fbf0","name":"ros-noetic-diagnostic-updater","requires":[],"size":60895,"version":"1.11.0","binstar":{"package_id":"63ca19745a31eb90f6b81ec6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"867619e16ea8ec7e2c47cfc1cb0a31137791b3f537e82dcaad2124ff8e794a53"},"ros-noetic-kdl-parser-1.14.2-py39h667b4a2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole","ros-noetic-urdf","tinyxml","tinyxml2 >=9.0.0,<10.0a0","urdfdom_headers"],"build":"py39h667b4a2_5","timestamp":1674297894923,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"93c42aaa248bfd22a70936aa8944d369","name":"ros-noetic-kdl-parser","requires":[],"size":27609,"version":"1.14.2","binstar":{"package_id":"63ca197614201bfa453812c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb03efd6aab06027e2d29200df02e271be3fe4dfd3edf732f2b66036927d87fc"},"ros-noetic-kdl-parser-1.14.2-py311hb90db5c_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hb90db5c_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-rosconsole","ros-noetic-urdf","tinyxml","tinyxml2 >=10.0.0,<11.0a0","urdfdom_headers"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706672014756,"md5":"1997fbfac1928eedaef24e18d0cb47d0","name":"ros-noetic-kdl-parser","requires":[],"size":28693,"version":"1.14.2","binstar":{"package_id":"63ca197614201bfa453812c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9468fc63741a047a3ae84db01157fe6861b85b0cbd6ad5d331f08b79d7228046"},"ros-noetic-jackal-navigation-0.8.5-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-amcl","ros-noetic-gmapping","ros-noetic-map-server","ros-noetic-move-base","ros-noetic-urdf","ros-noetic-xacro"],"build":"py39hae387e0_3","timestamp":1674460143487,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0651e50c7f3359d3698130731383960c","name":"ros-noetic-jackal-navigation","requires":[],"size":37423,"version":"0.8.5","binstar":{"package_id":"63ca2115d0e8c095e2427b87","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"70c6cc577dced317a87cb66e1c0faa74e572a7657351779ccbabe51ba3d9e34c"},"ros-noetic-rostopic-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genpy","ros-noetic-rosbag","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674355518119,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bcde49a18a516c37ac8eb4fb32ba650e","name":"ros-noetic-rostopic","requires":[],"size":53221,"version":"1.15.15","binstar":{"package_id":"63cb6b58a64974fd09f761ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"88d4428a192f860a19e6a30a712173de32cf5dafcbcce4cfbdce595a7985b8b7"},"ros-noetic-rosmsg-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-genmsg","ros-noetic-genpy","ros-noetic-rosbag","ros-noetic-roslib","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674355659944,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"89f8e082bd4b02512a70bfc6b80117b3","name":"ros-noetic-rosmsg","requires":[],"size":30873,"version":"1.15.15","binstar":{"package_id":"63cb6d178ff1ad27426d708c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d038e6279f22c39decc0d7daef557bc29784882fa4a213dc07ad84bb8479f716"},"ros-noetic-sensor-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674355828780,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a824a87d22af590c59c67ed48cea1c9d","name":"ros-noetic-sensor-msgs","requires":[],"size":170293,"version":"1.13.1","binstar":{"package_id":"63cb6d1ac37c80a75b2b480e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ad69e038e3687483c024c41a54644dc70f703487c2fc27e55e18a8a747799123"},"ros-noetic-self-test-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-diagnostic-updater","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674357663259,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"655ccc5f41b036e8355a9c69a9938138","name":"ros-noetic-self-test","requires":[],"size":172973,"version":"1.11.0","binstar":{"package_id":"63cb6d1adbdf733521e9130f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"458c4718be9328588c9ca3522bb67d6c1b2e412414c0f6885a9f116e9795b37d"},"ros-noetic-self-test-1.11.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-diagnostic-updater","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706577270935,"md5":"032f0c25b81da118bbfe561e107c3706","name":"ros-noetic-self-test","requires":[],"size":173327,"version":"1.11.0","binstar":{"package_id":"63cb6d1adbdf733521e9130f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"44e7f83b21502b814ba0a8f5e476c152d85cacfb38dd7d770cd9794532b7cc5f"},"ros-noetic-jackal-control-0.8.5-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-controller-manager","ros-noetic-diff-drive-controller","ros-noetic-interactive-marker-twist-server","ros-noetic-joint-state-controller","ros-noetic-joy","ros-noetic-robot-localization","ros-noetic-teleop-twist-joy","ros-noetic-topic-tools","ros-noetic-twist-mux"],"build":"py39hae387e0_3","timestamp":1674440641507,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b2399d9f1d971ff73eb9117ab332e3b9","name":"ros-noetic-jackal-control","requires":[],"size":14700,"version":"0.8.5","binstar":{"package_id":"63cb6d1bedf45d7c2e7b924c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"82113b561b499804727a673a7801b703c49412e4ab42ec7295aeb9cc63d7d4d0"},"ros-noetic-filters-1.9.2-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib"],"build":"py39h2335ed2_5","timestamp":1674356195288,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"459a718d1d789e7094705d36340efd64","name":"ros-noetic-filters","requires":[],"size":75670,"version":"1.9.2","binstar":{"package_id":"63cb6d1c2ff78d332e290f80","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"89c45db6c9b3f2c2406887c6ee0fd1d323697a9431d0000e70dd9f76d0ff780b"},"ros-noetic-filters-1.9.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["boost-cpp","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576684068,"md5":"57c4040d90f8e33732d4ee559abcd6a0","name":"ros-noetic-filters","requires":[],"size":77794,"version":"1.9.2","binstar":{"package_id":"63cb6d1c2ff78d332e290f80","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"54b86ef641643c5eb92d6d23eacd610d352b848fb2722ba5d473732a4d5995a9"},"ros-noetic-diagnostic-analysis-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-rosbag","ros-noetic-roslib"],"build":"py39h46ec4ef_5","timestamp":1674356860534,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9ab965c96516bd8131e3b31d1ab01a25","name":"ros-noetic-diagnostic-analysis","requires":[],"size":20934,"version":"1.11.0","binstar":{"package_id":"63cb6d1cd0e8c095e2091b43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3a0787daa16ce7b50a08409dcc577f64e866d0dad3ba03890b466436cc593c05"},"ros-noetic-ros-tutorials-0.10.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp-tutorials","ros-noetic-rospy-tutorials","ros-noetic-turtlesim"],"build":"py39h46ec4ef_5","timestamp":1674298077186,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7670c21cc990c7d872f01b9e28b2cb02","name":"ros-noetic-ros-tutorials","requires":[],"size":8684,"version":"0.10.2","binstar":{"package_id":"63cb6d1d912363225b376ac3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"08112e186360f3844f311cc7c7e4a7cb344d2d967903038f441faf79bb1ff0a5"},"ros-noetic-ros-tutorials-0.10.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp-tutorials","ros-noetic-rospy-tutorials","ros-noetic-turtlesim"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706577642041,"md5":"0579dbc8d30f8180b5358ae5ed3bb122","name":"ros-noetic-ros-tutorials","requires":[],"size":9421,"version":"0.10.2","binstar":{"package_id":"63cb6d1d912363225b376ac3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"225097d0f2e257e4baa1ef722f1581031ed5a7d00ac0e5753ffa0eebf8fcb8f4"},"ros-noetic-rosservice-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-genpy","ros-noetic-rosgraph","ros-noetic-roslib","ros-noetic-rosmsg","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674357414966,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d1ca32d26a765dc2df53cd28b9875f5f","name":"ros-noetic-rosservice","requires":[],"size":26520,"version":"1.15.15","binstar":{"package_id":"63cb6e6920c05f5e39391f10","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5fcafab7a40ede11e7988ebeee0c2076a84566fd045b6a14d79644a812cdfd86"},"ros-noetic-joint-state-publisher-1.15.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357924855,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cda9d59a5fbb96abf1b452d31687681c","name":"ros-noetic-joint-state-publisher","requires":[],"size":19150,"version":"1.15.1","binstar":{"package_id":"63cb6e6a2ff78d332e294985","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9671fca1697b290fc98af18ea17fdba1769ad465dd0fec31e733ed65ca88ebbb"},"ros-noetic-map-msgs-1.14.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357554184,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4cb0ba889af4ba1aaae7a318c31af272","name":"ros-noetic-map-msgs","requires":[],"size":59651,"version":"1.14.1","binstar":{"package_id":"63cb6e6c5a31eb90f65539e6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9fb149d7d382cfa9dfd6ce918fb7725ca7f73efe524d7bc8a986a492d7d9b358"},"ros-noetic-rosnode-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosgraph","ros-noetic-rostopic"],"build":"py39h46ec4ef_5","timestamp":1674357265113,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bda8f70d6e641fdc76f7e1c0107898ef","name":"ros-noetic-rosnode","requires":[],"size":28441,"version":"1.15.15","binstar":{"package_id":"63cb6e6dc37c80a75b2bce42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f2124e8c2ef6debbb28ef1edde8d3563b7ba3558c5e3bfaa5fad43ba68356b12"},"ros-noetic-image-transport-1.12.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-filters","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357795897,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7e52ce408cb11c59e2a0d783794a1682","name":"ros-noetic-image-transport","requires":[],"size":267764,"version":"1.12.0","binstar":{"package_id":"63cb6e6ec37c80a75b2bce48","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"885d55467046823adf90c8bbda7768008021febfb2df699efec32c0064970924"},"ros-noetic-teleop-twist-keyboard-1.0.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1675986844110,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e2133e37f4affc40ab59c8e71f277fd6","name":"ros-noetic-teleop-twist-keyboard","requires":[],"size":16026,"version":"1.0.0","binstar":{"package_id":"63cb70d6b23346582c26cd28","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ee2ab06c39dd6555eceb174a6422520e6ccf0311c9b80d58bde65bbabd45de7c"},"ros-noetic-teleop-twist-keyboard-1.0.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-rospy"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706535613671,"md5":"2af150b6acdf0e46a6b27fada17057bb","name":"ros-noetic-teleop-twist-keyboard","requires":[],"size":18518,"version":"1.0.0","binstar":{"package_id":"63cb70d6b23346582c26cd28","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"19196f498ed267fd985460da9d7e114db980c11e5febd4f04812bfd6e8d972d8"},"ros-noetic-rqt-topic-0.4.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-std-msgs","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674357772584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"30e925bcc26dd11b9971d87c1bb83f4b","name":"ros-noetic-rqt-topic","requires":[],"size":26351,"version":"0.4.13","binstar":{"package_id":"63cbbed3d0e8c095e22e70cc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f881d00720b65a56550e0ed9185efeb33d8a0121fe9f3636cc0593c850a3bd4b"},"ros-noetic-rqt-robot-steering-0.5.12-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-python-qt-binding","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674357209636,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1cfe8e7abbd50a52afd7e4b88a22b52d","name":"ros-noetic-rqt-robot-steering","requires":[],"size":20315,"version":"0.5.12","binstar":{"package_id":"63cbbed468b198bb95ec6cc2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"24cc485b44f98e3448d9ccfd1523bebef6f389567dbd3a01a8ced7dea1ff27bd"},"ros-noetic-joint-state-publisher-gui-1.15.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-state-publisher","ros-noetic-python-qt-binding","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674358835877,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b8ce51f3379788a3c78b6f6867c0fdd1","name":"ros-noetic-joint-state-publisher-gui","requires":[],"size":18569,"version":"1.15.1","binstar":{"package_id":"63cbbf54be293b9e161bb6ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"650da8f6cca4d24fdd00e32f3a4e4added3eaad0af5f95cc2cc2804141b312ab"},"ros-noetic-dynamic-reconfigure-1.7.3-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-std-msgs"],"build":"py39h2335ed2_5","timestamp":1674359297900,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"563584108c21806951ac894074395ef8","name":"ros-noetic-dynamic-reconfigure","requires":[],"size":107106,"version":"1.7.3","binstar":{"package_id":"63cbbf5568b198bb95ec776c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8d4206f7f2ddfa11e1ceba7930caa262cf7ee294006694718e8d203426a2d938"},"ros-noetic-actionlib-1.14.0-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-rostest","ros-noetic-std-msgs"],"build":"py39h2335ed2_5","timestamp":1674358556005,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f2377f1e3af264a6085c5c061678332a","name":"ros-noetic-actionlib","requires":[],"size":163573,"version":"1.14.0","binstar":{"package_id":"63cbbf56d0e8c095e22e96b1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dc653e0c78c17ff807196ef1a59e5459a71f89d502a5345182a33ad528963c84"},"ros-noetic-actionlib-1.14.0-py39h2335ed2_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-rostest","ros-noetic-std-msgs"],"build":"py39h2335ed2_6","timestamp":1678494652366,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c7de2d9a03c66efaa48eba01e04b14d","name":"ros-noetic-actionlib","requires":[],"size":163803,"version":"1.14.0","binstar":{"package_id":"63cbbf56d0e8c095e22e96b1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a731dc69c2ef24479661f3bf5f7c68c32d3f152a99f102538177fdd196d4cb5e"},"ros-noetic-rqt-logger-level-0.4.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-rosnode","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674358388171,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4910db68d60d05bb53863a6a7b764e55","name":"ros-noetic-rqt-logger-level","requires":[],"size":20249,"version":"0.4.11","binstar":{"package_id":"63cbbf57c37c80a75b479e76","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"feb19c02d6c033bc71458e275814971088d4c1cccd3dd0c95b91822fbd5f3295"},"ros-noetic-roswtf-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","paramiko","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosbuild","ros-noetic-rosgraph","ros-noetic-roslaunch","ros-noetic-roslib","ros-noetic-rosnode","ros-noetic-rosservice","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674358721908,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"234e07bface3b5128301e1a22a3a23d7","name":"ros-noetic-roswtf","requires":[],"size":50115,"version":"1.15.15","binstar":{"package_id":"63cbbf58d0e8c095e22e96ed","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aa217dc176393f6a0996bc2ae55d634226a6b301a43dfd063659d5e166e26783"},"ros-noetic-rosserial-server-0.9.2-py39h2335ed2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-rosserial-msgs","ros-noetic-std-msgs","ros-noetic-topic-tools"],"build":"py39h2335ed2_5","timestamp":1674297323821,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cbed394f3a1500db646ca053b5bae812","name":"ros-noetic-rosserial-server","requires":[],"size":324898,"version":"0.9.2","binstar":{"package_id":"63cbbf8c989160afcf1e1ddf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4e31b0b37170293cac2596f3883752d88f1b98da0a4c2c0f55efaa1e12531da9"},"ros-noetic-map-server-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["bullet","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-tf2","sdl >=1.2.60,<1.3.0a0","sdl_image >=1.2.12,<1.3.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39h46ec4ef_5","timestamp":1674298464145,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"13eaa32bb6fa7fdf0bb773212699b6f2","name":"ros-noetic-map-server","requires":[],"size":84089,"version":"1.17.3","binstar":{"package_id":"63cbc0f18ff1ad2742896865","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8fd3a88c2a1a1800b9a44089578fd8bafe8a9916ff2f9a28d5b81ba779e5120f"},"ros-noetic-map-server-1.17.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["bullet","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-tf2","sdl >=1.2.68,<1.3.0a0","sdl_image >=1.2.12,<1.3.0a0","yaml-cpp >=0.8.0,<0.9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576246554,"md5":"f1d03abd64c8357bca6f5d0e6afefa44","name":"ros-noetic-map-server","requires":[],"size":86488,"version":"1.17.3","binstar":{"package_id":"63cbc0f18ff1ad2742896865","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f6f104b5675e04c5b00659af9312db8973704825426609d959ae61da7ae558d1"},"ros-noetic-srdfdom-0.6.3-py39h09da5bb_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","console_bridge >=1.0.2,<1.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-urdf","ros-noetic-urdfdom-py","tinyxml2 >=9.0.0,<10.0a0"],"build":"py39h09da5bb_5","timestamp":1674298212011,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9db603260c7e6a8cc7496f6399a2dc42","name":"ros-noetic-srdfdom","requires":[],"size":72174,"version":"0.6.3","binstar":{"package_id":"63cbc0fddbdf73352109dc3d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"62b30eff1e2c9034183462b5a8c2d2a2aeac53c9dfc64a5fd493e7b84a4a29e8"},"ros-noetic-srdfdom-0.6.4-py311h33413d5_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h33413d5_8","build_number":8,"depends":["boost","console_bridge >=1.0.2,<1.1.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-urdf","ros-noetic-urdfdom-py","tinyxml2 >=10.0.0,<11.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706672320135,"md5":"406630bb4a903eabde68fe5aa90245b6","name":"ros-noetic-srdfdom","requires":[],"size":78414,"version":"0.6.4","binstar":{"package_id":"63cbc0fddbdf73352109dc3d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f3002d81eeab66f36521da85fecbfddd2ca4e9dde6c0a26885cfed8d7e3a9ff"},"ros-noetic-qt-gui-cpp-0.4.2-py39hae387e0_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.* noetic","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-qt-gui","tinyxml","xorg-libx11","xorg-libxext"],"build":"py39hae387e0_5","timestamp":1674297531346,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"657f56e47f95e4599df4253849df3889","name":"ros-noetic-qt-gui-cpp","requires":[],"size":172119,"version":"0.4.2","binstar":{"package_id":"63cc9ce6912363225b88b86b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b5513de7647c88c017a16e284fdadae25d46b1eca5212cba497982c7f5711319"},"ros-noetic-qt-gui-cpp-0.4.2-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-qt-gui","tinyxml","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py39h46ec4ef_6","timestamp":1681949172483,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fdfa0ea8bf807fada8bdfd19ae6cad4a","name":"ros-noetic-qt-gui-cpp","requires":[],"size":173794,"version":"0.4.2","binstar":{"package_id":"63cc9ce6912363225b88b86b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f662e80ed4af112883220d361b7719eb96b0d7c22106dc3043546c3f94811b78"},"ros-noetic-qt-gui-cpp-0.4.2-py311h15ddf78_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h15ddf78_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-pluginlib","ros-noetic-qt-gui","tinyxml","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534953874,"md5":"cdb0374bd5fcea28d8f6b3f415d1a5ca","name":"ros-noetic-qt-gui-cpp","requires":[],"size":175411,"version":"0.4.2","binstar":{"package_id":"63cc9ce6912363225b88b86b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9aae0adea7361880bac8274cc6c0dc1a194b3b0b55fad0d2786f6c70ac0f412e"},"ros-noetic-smach-ros-2.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-actionlib-msgs","ros-noetic-rospy","ros-noetic-rostopic","ros-noetic-smach","ros-noetic-smach-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs"],"build":"py39h46ec4ef_5","timestamp":1674385297099,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e09789fb984baa1d4ad25c2d9dcf0f2b","name":"ros-noetic-smach-ros","requires":[],"size":36999,"version":"2.5.0","binstar":{"package_id":"63cca29ab23346582c522620","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b3d4f478d770bc54c0e5d04792edfccf0c19986c05489c14dc382a811cbc0f20"},"ros-noetic-turtle-actionlib-0.2.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-actionlib-msgs","ros-noetic-angles","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-turtlesim"],"build":"py39h46ec4ef_5","timestamp":1674384909703,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee8b090a8f60bed578356043d9fe1aef","name":"ros-noetic-turtle-actionlib","requires":[],"size":202227,"version":"0.2.0","binstar":{"package_id":"63cca29c5a31eb90f6a03908","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fc350c0d4343bbf0fa1f70674d039c0f5264ce4619e51e2e70e8ec957186eb0d"},"ros-noetic-rqt-py-common-0.5.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-genpy","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rosbag","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-rostopic"],"build":"py39h46ec4ef_5","timestamp":1674384496396,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"157674688ccd2d3c98e3000c16077725","name":"ros-noetic-rqt-py-common","requires":[],"size":54465,"version":"0.5.3","binstar":{"package_id":"63cca33b2ff78d332e770234","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"feee7e57a2581d796ba026226f422e3f0a3284aab66fcfeff668009d713e449f"},"ros-noetic-nodelet-topic-tools-1.10.2-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h83befe1_5","timestamp":1674384648227,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ac087a4be6649949ef67d97fc0ef3d05","name":"ros-noetic-nodelet-topic-tools","requires":[],"size":22806,"version":"1.10.2","binstar":{"package_id":"63cca33c8ff1ad2742e7bdba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8e5926ba8b2cd08ad50187d0e78a4d2e8aa66e04eb3dccd9dfaed8c49ac2ebdc"},"ros-noetic-cv-bridge-1.16.2-py39h099e9b2_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.20.3,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole","ros-noetic-sensor-msgs","xorg-libx11","xorg-libxext"],"build":"py39h099e9b2_5","timestamp":1674357856064,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6544a68168f60048523218d3b7f60a25","name":"ros-noetic-cv-bridge","requires":[],"size":154482,"version":"1.16.2","binstar":{"package_id":"63cca33ecd65eb0e146473d3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8b6f612fea40c4022eafb8657528d28ad5f994e1b7882fd60938e2c4944b1f90"},"ros-noetic-tf2-ros-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-roscpp","ros-noetic-rosgraph","ros-noetic-rospy","ros-noetic-std-msgs","ros-noetic-tf2","ros-noetic-tf2-msgs","ros-noetic-tf2-py","ros-noetic-xmlrpcpp"],"build":"py39h46ec4ef_5","timestamp":1674384291196,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"24e6d3eae3ff4e5708d86f67ea2d8ff4","name":"ros-noetic-tf2-ros","requires":[],"size":244539,"version":"0.7.6","binstar":{"package_id":"63cca33fc37c80a75ba5cc0b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3f1fe07967f7095edf421d6acd2a632c8e7c524d2dcc0bcc8bafe0ba1b8a530a"},"ros-noetic-stereo-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357299222,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9fa5869fd113f8f895295eaa8dd3d4fb","name":"ros-noetic-stereo-msgs","requires":[],"size":26891,"version":"1.13.1","binstar":{"package_id":"63cca3402ff78d332e77029c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0df8140c246eb08a53b6d45eb5659fc48ce7278d4b9cafec17eeb097fe7154f5"},"ros-noetic-turtlebot3-description-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-urdf","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674355773152,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e73c70cc49c7d927aafcb6da0f95b331","name":"ros-noetic-turtlebot3-description","requires":[],"size":5673019,"version":"1.2.5","binstar":{"package_id":"63cca406a64974fd0910aac9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"342332fc227398c2b3612ecd704111c7f7501fc5e05947c4484f7872823d2904"},"ros-noetic-turtlebot3-description-1.2.5-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-urdf","ros-noetic-xacro"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706577380408,"md5":"3ec2ba8847f0eaaab8917ce029e203b3","name":"ros-noetic-turtlebot3-description","requires":[],"size":5667294,"version":"1.2.5","binstar":{"package_id":"63cca406a64974fd0910aac9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e615c8a73f494e3217dbe66f041f30c29a730eea1fc6acb91ac6908b3b33226e"},"ros-noetic-rqt-gui-cpp-0.5.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nodelet","ros-noetic-qt-gui","ros-noetic-qt-gui-cpp","ros-noetic-roscpp","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674356487657,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b3563b01a2c5585a1092dd9fb9b777fb","name":"ros-noetic-rqt-gui-cpp","requires":[],"size":91746,"version":"0.5.3","binstar":{"package_id":"63cca8862ff78d332e78663e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"434db851b7bab403af2e29a414c476f4169967f6e03ed248dfda8c322aa469bc"},"ros-noetic-rqt-gui-cpp-0.5.3-py311h15ddf78_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h15ddf78_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-nodelet","ros-noetic-qt-gui","ros-noetic-qt-gui-cpp","ros-noetic-roscpp","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706573590780,"md5":"85c8770eff3ab4c8ab573108bfaaf721","name":"ros-noetic-rqt-gui-cpp","requires":[],"size":93675,"version":"0.5.3","binstar":{"package_id":"63cca8862ff78d332e78663e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4c1d971106fad4df563f13c734b78a6ec762740caa5cda5af02bb709376789de"},"ros-noetic-joint-limits-interface-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-hardware-interface","ros-noetic-roscpp","ros-noetic-urdf"],"build":"py39h46ec4ef_5","timestamp":1674356629914,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6fa65f8fbc3f75dfad79563d9ac48cd7","name":"ros-noetic-joint-limits-interface","requires":[],"size":18710,"version":"0.19.6","binstar":{"package_id":"63cca888c37c80a75ba7d25f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"44a5832cee9b5549b78a643bbeae399f91e372a6e42d343bae0110d3f37204da"},"ros-noetic-joint-limits-interface-0.20.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-hardware-interface","ros-noetic-roscpp","ros-noetic-urdf"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706577134952,"md5":"51caee41bc2cfa3920be96f70e6a03e4","name":"ros-noetic-joint-limits-interface","requires":[],"size":19433,"version":"0.20.0","binstar":{"package_id":"63cca888c37c80a75ba7d25f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1e1e3d1f7fb4ddb4aa0b274c1f80807fed64396f378042ec117cac2109e9425d"},"ros-noetic-gps-common-0.3.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357819869,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"46dff25fa77c7f542c78f9a2c39d0291","name":"ros-noetic-gps-common","requires":[],"size":83101,"version":"0.3.3","binstar":{"package_id":"63ccac48d0e8c095e2a303b4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4389cddf69243d9707c292635e4036bbe0eb7da6077fd34232eef9f9ff0c8925"},"ros-noetic-hls-lfcd-lds-driver-1.1.2-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h83befe1_5","timestamp":1674357605732,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fd996bd94585f21fcdd02b9a2237eed1","name":"ros-noetic-hls-lfcd-lds-driver","requires":[],"size":87944,"version":"1.1.2","binstar":{"package_id":"63ccac4a59c09271a4f280e6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1c37a901e50639c2f61abb2e5cbafd8988385b950897f6d772159376b8154a28"},"ros-noetic-lms1xx-0.3.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole-bridge","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357413497,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5b6d4a18463c82eb3de0cfd1302149cd","name":"ros-noetic-lms1xx","requires":[],"size":240451,"version":"0.3.0","binstar":{"package_id":"63ccac4dedf45d7c2e922c79","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6cc8414ec6773c8ee707b262f7b7e27dd758cbaf4daf972d87da84b58383975b"},"ros-noetic-pcl-msgs-0.3.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357455877,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ce2f28cb94172b2d4e7df1817118e29a","name":"ros-noetic-pcl-msgs","requires":[],"size":38881,"version":"0.3.0","binstar":{"package_id":"63ccaca4a64974fd09115016","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"02941ab36e0c170dbc821524cca493e1e73fd447b2444cdb7ceeb44bd048ecbd"},"ros-noetic-joy-1.15.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-updater","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357911352,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ede640e42a510648e6393f115c75d032","name":"ros-noetic-joy","requires":[],"size":16769,"version":"1.15.1","binstar":{"package_id":"63ccaca70273ee116abaf554","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"35c22f5842ff32ef3cb54d04546d490e102f8ef6b4c0c16bb4ef51ef150b9c24"},"ros-noetic-gazebo-msgs-2.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-trajectory-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357402660,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"38eab1c463c3ac0b1a3b3b590bab101b","name":"ros-noetic-gazebo-msgs","requires":[],"size":159222,"version":"2.9.2","binstar":{"package_id":"63ccad3fcd65eb0e1466d326","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f2c744f7ceb019a47bdbe1ee42c99f6c24eae399d1e9ba1435eb6ba3817a1d8"},"ros-noetic-object-recognition-msgs-0.4.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674357234973,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d137d283ed9ff994eab23b6cef9d19e0","name":"ros-noetic-object-recognition-msgs","requires":[],"size":94227,"version":"0.4.2","binstar":{"package_id":"63ccad40b23346582c53a981","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"33b3b9009e2426da477f96e3d33740f9118fb7693645af2c119c852987518c6e"},"ros-noetic-image-geometry-1.16.2-py39h70de506_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libopencv >=4.6.0,<4.6.1.0a0","numpy >=1.20.3,<2.0a0","py-opencv >=4.6.0,<5.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-sensor-msgs","xorg-libx11","xorg-libxext"],"build":"py39h70de506_5","timestamp":1674357605572,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"57b6000b94ca995e80977e63a12f8c1a","name":"ros-noetic-image-geometry","requires":[],"size":38761,"version":"1.16.2","binstar":{"package_id":"63ccad41d0e8c095e2a34205","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"277e0a93f63d14d15cbf3a43603eec12e39867341c32aaea38c763385391ddb7"},"ros-noetic-camera-calibration-parsers-1.12.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-sensor-msgs","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39h83befe1_5","timestamp":1674358070040,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7aa2132f886eed8c1f2f93a95c8b8259","name":"ros-noetic-camera-calibration-parsers","requires":[],"size":79638,"version":"1.12.0","binstar":{"package_id":"63ccad42989160afcf3d599b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a882beff1021590ff50d3a80eb8d6e7a7f0862773f944a1012eca9dcf6f42400"},"ros-noetic-teleop-twist-joy-0.1.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-joy","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674358621334,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e8986556f398a270c228203fd117cb76","name":"ros-noetic-teleop-twist-joy","requires":[],"size":42630,"version":"0.1.3","binstar":{"package_id":"63ccb0d5dbdf733521734088","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2212e74ce479fed5752c46e6a69557c4f1b49d7b715f8955e29c8d836e00e7f6"},"ros-noetic-vision-opencv-1.16.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-image-geometry"],"build":"py39h46ec4ef_5","timestamp":1674358983807,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"547e146092d27cc5f3345b3e3a10fa67","name":"ros-noetic-vision-opencv","requires":[],"size":8969,"version":"1.16.2","binstar":{"package_id":"63ccb0d75a31eb90f6a3625d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f689fc951fda795270b52561ccc2718acc863c4ccf7b7125918c9dba3cb3b87"},"ros-noetic-camera-calibration-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-image-geometry","ros-noetic-message-filters","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-srvs"],"build":"py39h46ec4ef_5","timestamp":1674358821980,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"52ebb87a2a86f52107b8bf2024deec7b","name":"ros-noetic-camera-calibration","requires":[],"size":62794,"version":"1.17.0","binstar":{"package_id":"63ccb0da2ff78d332e7a1dc0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5f18d3d453865d14b751bb8a3fa520cf13ccf2f47a2ddc0ac1a88ae18da017ee"},"ros-noetic-camera-info-manager-1.12.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-camera-calibration-parsers","ros-noetic-image-transport","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-sensor-msgs"],"build":"py39h83befe1_5","timestamp":1674358831256,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ea2d805291bc09dd0892cd793d6fb0c2","name":"ros-noetic-camera-info-manager","requires":[],"size":47857,"version":"1.12.0","binstar":{"package_id":"63ccb100912363225b8e225c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8e2660527d0940249751b46561ee95856fba22e664e737f467fae5e3c182f35"},"ros-noetic-pcl-conversions-1.7.4-py39h2664d50_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pcl-msgs","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","xorg-libx11","xorg-libxext"],"build":"py39h2664d50_5","timestamp":1674359023112,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"59c1fe77bb71ee53fd5b9d586650005c","name":"ros-noetic-pcl-conversions","requires":[],"size":18586,"version":"1.7.4","binstar":{"package_id":"63ccb100cd65eb0e1467878f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e5ec10dabc4327eae3cdd16f9843cc3918e0feef645648cf22b9f92f145d979f"},"ros-noetic-rqt-bag-0.5.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-rosbag","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-rosnode","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674358627528,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2831b66220ccb1600c6452ebd12077cc","name":"ros-noetic-rqt-bag","requires":[],"size":81516,"version":"0.5.1","binstar":{"package_id":"63ccb1015a31eb90f6a366b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4fdd530c334be4028e03843587f5b8eed8533582295bc374059d9eda655dd8c7"},"ros-noetic-controller-manager-msgs-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674358531463,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"03a7cbd4d0e1cbc8183ca209cb35bcd8","name":"ros-noetic-controller-manager-msgs","requires":[],"size":65272,"version":"0.19.6","binstar":{"package_id":"63ccb10314201bfa458f919f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"589a6e531229a49600aff2e29c7209ceafd68e2841edc467b863c576d4cb10e5"},"ros-noetic-moveit-msgs-0.11.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-generation","ros-noetic-message-runtime","ros-noetic-object-recognition-msgs","ros-noetic-octomap-msgs","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-std-msgs","ros-noetic-trajectory-msgs"],"build":"py39h46ec4ef_5","timestamp":1674359061739,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"01abcae6dcce0f332d422c1e65a2ed49","name":"ros-noetic-moveit-msgs","requires":[],"size":1296159,"version":"0.11.4","binstar":{"package_id":"63ccb21759c09271a4f33cfd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3379d179a5a6ffb67c1a795ffd3e0822855222d4e0920d4d45f8644d8aff6e67"},"ros-noetic-executive-smach-2.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-smach","ros-noetic-smach-msgs","ros-noetic-smach-ros"],"build":"py39h46ec4ef_5","timestamp":1674414637122,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b482e9e0dccce0b4b9a4dc77dd80edcb","name":"ros-noetic-executive-smach","requires":[],"size":8372,"version":"2.5.0","binstar":{"package_id":"63cd1036912363225ba3b103","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"107680366d6e603ed69777e8d4bf964a9ed6dd18671b6e9e8fbe0b6d0f4caec8"},"ros-noetic-rqt-service-caller-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosservice","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415356993,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4a3553d8eb152c43840cbbb7ec201b77","name":"ros-noetic-rqt-service-caller","requires":[],"size":22397,"version":"0.4.10","binstar":{"package_id":"63cd10c9912363225ba3c28b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"64690dec41f5d638f91930b2cdd875755727353fbf535305358872c9b768c167"},"ros-noetic-nodelet-core-1.10.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nodelet","ros-noetic-nodelet-topic-tools"],"build":"py39h46ec4ef_5","timestamp":1674415174594,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d89a162e626deaa7fb009a5fb6a35a7e","name":"ros-noetic-nodelet-core","requires":[],"size":8371,"version":"1.10.2","binstar":{"package_id":"63cd10cad0e8c095e2ca14ab","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6439b0909bea762078f1a362c31fd751453a78fa9d9d094523ebee1510eafa99"},"ros-noetic-rqt-moveit-0.5.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-rosnode","ros-noetic-rospy","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","ros-noetic-rqt-topic","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674415258955,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4ff2b6a78eeac04f200e7407afe9d910","name":"ros-noetic-rqt-moveit","requires":[],"size":23643,"version":"0.5.10","binstar":{"package_id":"63cd10cbdbdf73352196d733","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"829a756fd7a63e8e18127b3d226686c22d0f9d59f90b1e458295c692b35ba251"},"ros-noetic-rqt-graph-0.4.14-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-dotgraph","ros-noetic-rosgraph","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-rosnode","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674384466749,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f05bc81a34606f0093b0cc7a3ff37410","name":"ros-noetic-rqt-graph","requires":[],"size":40685,"version":"0.4.14","binstar":{"package_id":"63cd10cc989160afcf4833b5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"81e61d4c21ca2896c3039639e1eebb205e1ab1c9ec01dcc59ac5eb1e02f13f4e"},"ros-noetic-rqt-publisher-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui-py-common","ros-noetic-roslib","ros-noetic-rosmsg","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415449026,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"287052dab5ec060afda54b3c4b86da6b","name":"ros-noetic-rqt-publisher","requires":[],"size":29183,"version":"0.4.10","binstar":{"package_id":"63cd10ccdbdf73352196d766","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cd6acd31daeb981aa0936952a2100ff11c6910021c8f780f6cdebe188683f81a"},"ros-noetic-tf-1.13.2-py39h9c56fca_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["graphviz >=6.0.2,<7.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roswtf","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf2-ros"],"build":"py39h9c56fca_5","timestamp":1674414966956,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ef1cc92bde5ea870816a2e79865e6ae","name":"ros-noetic-tf","requires":[],"size":219726,"version":"1.13.2","binstar":{"package_id":"63cd10fccd65eb0e147f83eb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"db41342560475249edbb5eae7b9b2bcaaacfe19faf07e07a2084938c47be98c2"},"ros-noetic-rqt-console-0.4.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-logger-level","ros-noetic-rqt-py-common","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415362164,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4f452c567cff02a357a875052b17a1bb","name":"ros-noetic-rqt-console","requires":[],"size":59846,"version":"0.4.11","binstar":{"package_id":"63cd10fd8ff1ad27420b3c5c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"543967c12b377fb8cdd8263287a72d490af46fa5257a856e97e41ab5bb96746c"},"ros-noetic-tf2-kdl-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-tf2","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674415110752,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d5517cc0843e3b76672017419dcc9f56","name":"ros-noetic-tf2-kdl","requires":[],"size":18923,"version":"0.7.6","binstar":{"package_id":"63cd10fe5a31eb90f6b90d9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bc68fc3b7efcd422347d801e63bf03bc9f6e7b393652b49779c09ee4020e5224"},"ros-noetic-tf2-geometry-msgs-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python-orocos-kdl >=1.5.1,<1.6.0a0","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-tf2","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674414684457,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"64d521d60e8a1e780eb13d791b444e2f","name":"ros-noetic-tf2-geometry-msgs","requires":[],"size":19463,"version":"0.7.6","binstar":{"package_id":"63cd10ffdbdf73352196fc9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"83e629957801f90f415317c45e841966e16392a2bd1c61d2294c051949a4d1f7"},"ros-noetic-rqt-controller-manager-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-manager-msgs","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py"],"build":"py39h46ec4ef_5","timestamp":1674385027698,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0e0532da9b6b3260200632e914abe43e","name":"ros-noetic-rqt-controller-manager","requires":[],"size":44582,"version":"0.19.6","binstar":{"package_id":"63cd168d912363225ba55282","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"38206c7abf7dc29d53a80dd6b18254cb81a33fa803745a4614f175e55f84947f"},"ros-noetic-controller-manager-0.19.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-interface","ros-noetic-controller-manager-msgs","ros-noetic-hardware-interface","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-rosparam","ros-noetic-rospy","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674385072143,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7b70913909847eb2d7686d58c3cac516","name":"ros-noetic-controller-manager","requires":[],"size":132670,"version":"0.19.6","binstar":{"package_id":"63cd16bedbdf7335219a4f53","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4356a116b73e1b1f025e89bc8b0398d8d895da83563d1e0c0df39316d3b6d512"},"ros-noetic-realtime-tools-1.16.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674384849960,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"283220792b9429b4adae80d117c44204","name":"ros-noetic-realtime-tools","requires":[],"size":22951,"version":"1.16.1","binstar":{"package_id":"63cd16c2912363225ba55506","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e02c807e443fd3eee92ce61528adebbe23f9c949c5787330643a0de50e49bf8e"},"ros-noetic-theora-image-transport-1.14.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libogg >=1.3.4,<1.4.0a0","libtheora >=1.1.1,<1.2.0a0","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-rosbag","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674384740520,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6933acfad04781c78ff770c2d4fd798c","name":"ros-noetic-theora-image-transport","requires":[],"size":151303,"version":"1.14.0","binstar":{"package_id":"63cd179e2e1172ba36a19dba","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"33cff47f9ba4b35c8f99c938050230ba5cd3c57fa361e5a9eae58618e1868d98"},"ros-noetic-compressed-depth-image-transport-1.14.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport"],"build":"py39h46ec4ef_5","timestamp":1674384986087,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b31f0831e7dec1ef52d67a060ccf2e79","name":"ros-noetic-compressed-depth-image-transport","requires":[],"size":117918,"version":"1.14.0","binstar":{"package_id":"63cd17a159c09271a4ffaab2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c9e80e7f06587fee27b6b37e2e2f0d29f725110542f08f2bd34505f31777d96d"},"ros-noetic-rosbridge-library-0.11.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pillow","pymongo","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-rosgraph","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-rostopic","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674385162521,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d6756c613f96309620d8dcad127ea909","name":"ros-noetic-rosbridge-library","requires":[],"size":127997,"version":"0.11.16","binstar":{"package_id":"63cd17a3dbdf7335219aac44","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d2850336f2a31acf2d191bb2df35637b2ad8da1bc846f0464869f3f0ac2aa639"},"ros-noetic-polled-camera-1.12.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-image-transport","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674385065895,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e1770bb348d17f0799f28a1a4111b833","name":"ros-noetic-polled-camera","requires":[],"size":60139,"version":"1.12.0","binstar":{"package_id":"63cd17a95a31eb90f6bacd9c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a42ee20fd8a8ce19b6cbe6fc599f9576ae2c1a01042f10cf2db81e7b97d8d8f"},"ros-noetic-image-publisher-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-camera-info-manager","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674385308844,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5298fbe00eae422368f568132856240","name":"ros-noetic-image-publisher","requires":[],"size":95023,"version":"1.17.0","binstar":{"package_id":"63cd17abb23346582c6031ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a98df112260e09c37f25c01ccb119f88b7b6a0eb2e5c4d902e513f30222d5fa"},"ros-noetic-image-view-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-camera-calibration-parsers","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-std-srvs","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674384484937,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"877b053662599e989a4ef86073167acc","name":"ros-noetic-image-view","requires":[],"size":328255,"version":"1.17.0","binstar":{"package_id":"63cd17ada21649515759f5f2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"397c80aad8aab2fef0bcbd048d82c5058eb8f9bf13ca880e1573ec18a9f418be"},"ros-noetic-twist-mux-msgs-2.1.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-actionlib-msgs","ros-noetic-message-runtime"],"build":"py39h46ec4ef_5","timestamp":1674384643134,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"75f63d7a673481814dd12d1ebe50c34a","name":"ros-noetic-twist-mux-msgs","requires":[],"size":45137,"version":"2.1.0","binstar":{"package_id":"63cd17b0c37c80a75bce2ebe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"69400604c0c92a2c9771af601be82da424e4574445e2abad8661c8eb2daadd5b"},"ros-noetic-ddynamic-reconfigure-0.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674384854918,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b09104a9ad1d6ab2aa9fb8ea3dd3f9a4","name":"ros-noetic-ddynamic-reconfigure","requires":[],"size":82446,"version":"0.3.2","binstar":{"package_id":"63cd17b2c37c80a75bce2ee2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"38e77c0e198853c000e0c1b7a0791db5a9158e7981dd46647185a79490ada18f"},"ros-noetic-rqt-ez-publisher-0.6.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","ros-noetic-tf","ros-noetic-tf2-msgs"],"build":"py39h46ec4ef_5","timestamp":1674419339026,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"866576a55858c320b733839f09081af6","name":"ros-noetic-rqt-ez-publisher","requires":[],"size":38878,"version":"0.6.1","binstar":{"package_id":"63cd86f58ff1ad27423bb28b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2aed3352c295a6b506e143f1c964d5f9ce13345499046e3e48ad50367c1077c4"},"ros-noetic-jackal-base-0.7.4-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-controller-manager","ros-noetic-diagnostic-aggregator","ros-noetic-diagnostic-updater","ros-noetic-diff-drive-controller","ros-noetic-geometry-msgs","ros-noetic-imu-filter-madgwick","ros-noetic-jackal-msgs","ros-noetic-nmea-msgs","ros-noetic-nmea-navsat-driver","ros-noetic-realtime-tools","ros-noetic-rosserial-python","ros-noetic-rosserial-server","ros-noetic-sensor-msgs","ros-noetic-teleop-twist-joy","ros-noetic-tf","ros-noetic-topic-tools"],"build":"py39hae387e0_3","timestamp":1674425150085,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"495f79f8f38b5bb22e32a4eb5ab7f3a3","name":"ros-noetic-jackal-base","requires":[],"size":207030,"version":"0.7.4","binstar":{"package_id":"63cd86f60273ee116ae05ce1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9e4cae9cf36735c861e427433cc61118a2ccad9a89323bbcec53b4b796918dce"},"ros-noetic-ros-comm-1.15.15-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-filters","ros-noetic-ros","ros-noetic-rosbag","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rosgraph","ros-noetic-rosgraph-msgs","ros-noetic-roslaunch","ros-noetic-roslisp","ros-noetic-rosmaster","ros-noetic-rosmsg","ros-noetic-rosnode","ros-noetic-rosout","ros-noetic-rosparam","ros-noetic-rospy","ros-noetic-rosservice","ros-noetic-rostest","ros-noetic-rostopic","ros-noetic-roswtf","ros-noetic-std-srvs","ros-noetic-topic-tools","ros-noetic-xmlrpcpp"],"build":"py39h46ec4ef_5","timestamp":1674414715982,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a836e7a61d36fd470dc5a0ae536a0cb9","name":"ros-noetic-ros-comm","requires":[],"size":9233,"version":"1.15.15","binstar":{"package_id":"63cd872bc37c80a75b007dfe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"10d457de639269d5eb09473a68432997c02fba382723fa6157eede588bd201a7"},"ros-noetic-rqt-tf-tree-0.6.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-dotgraph","ros-noetic-rospy","ros-noetic-rqt-graph","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-tf2-msgs","ros-noetic-tf2-ros","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415292038,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"12239b30f4c8d1130513095523fdbb36","name":"ros-noetic-rqt-tf-tree","requires":[],"size":23519,"version":"0.6.3","binstar":{"package_id":"63cd872ddbdf733521cf2103","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c9a88342772db9ee1634f23bb05ba2dedde9e168b072a8ec16ea819de33857a4"},"ros-noetic-rqt-msg-0.4.10-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-roslib","ros-noetic-rosmsg","ros-noetic-rospy","ros-noetic-rqt-console","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674418796743,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4307a8f6ecee9bb7d792f0834b91b8b6","name":"ros-noetic-rqt-msg","requires":[],"size":21827,"version":"0.4.10","binstar":{"package_id":"63cd872edbdf733521cf2113","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fce0fcc32c8b4705842b7e93b8755e4f0aad0436cd691cf86205edea2df607be"},"ros-noetic-common-msgs-1.13.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-diagnostic-msgs","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-stereo-msgs","ros-noetic-trajectory-msgs","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674414849926,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5ddde31fa9215ae115428c5c4146d34b","name":"ros-noetic-common-msgs","requires":[],"size":8134,"version":"1.13.1","binstar":{"package_id":"63cd873086de531a28ddc45b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dcadf99677503ab5b2e3774662a439b0bb1b42e1231be86aa2553a6651d37f6a"},"ros-noetic-diagnostic-common-diagnostics-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","psutil","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-updater","ros-noetic-rospy","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674418708875,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"77c9e478dc3d124ef6a4581c230630ee","name":"ros-noetic-diagnostic-common-diagnostics","requires":[],"size":38057,"version":"1.11.0","binstar":{"package_id":"63cd8731dbdf733521cf2127","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d1f4ca7ad6032cc3289a8a7e5e959919531604f2c153defe85d74c7a8fdf8f9"},"ros-noetic-laser-geometry-1.6.7-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf","ros-noetic-tf2"],"build":"py39h83befe1_5","timestamp":1674417837584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8e30def50e95260de86df5b1b86f39b0","name":"ros-noetic-laser-geometry","requires":[],"size":49304,"version":"1.6.7","binstar":{"package_id":"63cd873bd0e8c095e203494d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"671816f54eccd39b604cabddda9bea6e7a75701ae22dc4f470695ad540cb9c2b"},"ros-noetic-robot-state-publisher-1.15.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-kdl-parser","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rostime","ros-noetic-sensor-msgs","ros-noetic-tf","ros-noetic-tf2-kdl","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674418301272,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"54ff2d19f3907b36414105b80e3d522a","name":"ros-noetic-robot-state-publisher","requires":[],"size":53712,"version":"1.15.2","binstar":{"package_id":"63cd873c5a31eb90f6dfa4b1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4c0be415693a4bc7d8939dc1494409787db8e76ce9ea17b91f657e182f7c56df"},"ros-noetic-rqt-reconfigure-0.5.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-python-qt-binding","ros-noetic-rospy","ros-noetic-rqt-console","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common"],"build":"py39h46ec4ef_5","timestamp":1674418056917,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9979771068a3a7d1dc17e96e98e0fd7c","name":"ros-noetic-rqt-reconfigure","requires":[],"size":60059,"version":"0.5.5","binstar":{"package_id":"63cd873dc37c80a75b008283","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b1f4527d0296901375e127dc33e6bb0f5de87f15790dedbb0b68797fbd77eeac"},"ros-noetic-rqt-robot-monitor-0.5.14-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rospy","ros-noetic-rqt-bag","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415504082,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"20f9db57dba51aa45aad3478311059a5","name":"ros-noetic-rqt-robot-monitor","requires":[],"size":38241,"version":"0.5.14","binstar":{"package_id":"63cd873ed0e8c095e2034995","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8c6dad197781ecf9aefd30e79b67e5ced11d29eb97d09bf49cae41ebea02e26"},"ros-noetic-interactive-markers-1.12.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-rostest","ros-noetic-std-msgs","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674418054585,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1f2649e413741d82414793c49675bf8d","name":"ros-noetic-interactive-markers","requires":[],"size":144782,"version":"1.12.0","binstar":{"package_id":"63cd873fa64974fd0925dfa1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"97ac67ca6b80d72cdcf3d77a94d4c261e75dc278211210e7667253bc7e8fb07a"},"ros-noetic-turtle-tf2-0.2.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-std-msgs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-turtlesim"],"build":"py39h46ec4ef_5","timestamp":1674424207538,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"49d848eeafd8219b648bd8e680032a65","name":"ros-noetic-turtle-tf2","requires":[],"size":53191,"version":"0.2.3","binstar":{"package_id":"63cd87b259c09271a414f6f1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"383847ad761c36451c5fb88848e4fb1f57034af041e6f12a27515bd0e763ec77"},"ros-noetic-rqt-launch-0.4.9-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-roslaunch","ros-noetic-rospy","ros-noetic-rqt-console","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common"],"build":"py39h46ec4ef_5","timestamp":1674430587645,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f77a38341b14507f52b8948fa03e468c","name":"ros-noetic-rqt-launch","requires":[],"size":31503,"version":"0.4.9","binstar":{"package_id":"63cd87b3dbdf733521cf4b27","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"769bb43930dfc9c8d8521a736187fb77648f6dbe3c77f800ce34123224c8d7eb"},"ros-noetic-turtle-tf-0.2.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-std-msgs","ros-noetic-tf","ros-noetic-turtlesim"],"build":"py39h46ec4ef_5","timestamp":1674419391338,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5ee726e4876c56fa4088c4c3c93b1198","name":"ros-noetic-turtle-tf","requires":[],"size":111001,"version":"0.2.3","binstar":{"package_id":"63cd87b45a31eb90f6dfb5c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9b5e1e50440f00a395b89aef1f5c740146064e6db968d282677cfd17abf17855"},"ros-noetic-rqt-dep-0.4.12-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-dotgraph","ros-noetic-qt-gui","ros-noetic-qt-gui-py-common","ros-noetic-rqt-graph","ros-noetic-rqt-gui-py","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674415554408,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9ba6381d274aa226e2bc3c0b665877de","name":"ros-noetic-rqt-dep","requires":[],"size":31927,"version":"0.4.12","binstar":{"package_id":"63cd87b5989160afcf5d12d0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"17f77ad3541d2d7a84ed5c53a3b8d803bfa5e1f7d914d969da4be0b16fea798b"},"ros-noetic-rosapi-0.11.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rosbridge-library","ros-noetic-rosgraph","ros-noetic-rosnode","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1674415693387,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"46c9ee79325694ca3eaa9ae7bc3cb642","name":"ros-noetic-rosapi","requires":[],"size":98437,"version":"0.11.16","binstar":{"package_id":"63cd8901c37c80a75b01b149","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"443085dde5d736450b750dccc84d5a4d22b288c18f491c728a9f96fab2356840"},"ros-noetic-image-common-1.12.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-camera-calibration-parsers","ros-noetic-camera-info-manager","ros-noetic-image-transport","ros-noetic-polled-camera"],"build":"py39h46ec4ef_5","timestamp":1674414768133,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ac477eac11096694c2c47b49dd38ade","name":"ros-noetic-image-common","requires":[],"size":8427,"version":"1.12.0","binstar":{"package_id":"63cd8b4514201bfa45a1a21f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5439e5bd43a13143cba0594fbcd54fe07cc152e2ce54608b09d1872a4271178c"},"ros-noetic-tf2-tools-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-tf2","ros-noetic-tf2-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674414907264,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"88f654f31af741d5a8509b81ae6eea8b","name":"ros-noetic-tf2-tools","requires":[],"size":20193,"version":"0.7.6","binstar":{"package_id":"63cd8b47be293b9e162ebaea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ffd59c0a0fb0ee9b54683d255bfb0d98aeb2f202004df190658c07781e42d86f"},"ros-noetic-twist-mux-3.1.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-updater","ros-noetic-geometry-msgs","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-twist-mux-msgs","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674415073031,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dbf8896bc4b08127d2adaaef1645f2c6","name":"ros-noetic-twist-mux","requires":[],"size":98417,"version":"3.1.3","binstar":{"package_id":"63cd8cc8c37c80a75b03bb72","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e03f2ef8f93e93825d3abf17f24eca46e870197fb50c696db88925859cb53e2a"},"ros-noetic-tf2-sensor-msgs-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python-orocos-kdl","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-tf2","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674415250556,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9ea0e8988dd569c2f1c5269f7f421385","name":"ros-noetic-tf2-sensor-msgs","requires":[],"size":15745,"version":"0.7.6","binstar":{"package_id":"63cd8d0a68b198bb95115bb6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"322b2dc52fdaaefccfa1170b73e3f80de30752042cdabea86c13f0a7dd474648"},"ros-noetic-forward-command-controller-0.21.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-interface","ros-noetic-hardware-interface","ros-noetic-realtime-tools","ros-noetic-roscpp","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674415393126,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8b5f651b1c8599cdb9397a70db8bbe85","name":"ros-noetic-forward-command-controller","requires":[],"size":14451,"version":"0.21.0","binstar":{"package_id":"63cd8d96d0e8c095e205cfbd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0a390fcde975b84a4d8418abff037b89bdd77074336c2acc485f990cac2172ad"},"ros-noetic-control-toolbox-1.19.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-control-msgs","ros-noetic-dynamic-reconfigure","ros-noetic-message-runtime","ros-noetic-realtime-tools","ros-noetic-roscpp","ros-noetic-std-msgs","tinyxml"],"build":"py39h46ec4ef_5","timestamp":1674415270142,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"69aebbd50579733c6d8b54a645dbb495","name":"ros-noetic-control-toolbox","requires":[],"size":115310,"version":"1.19.0","binstar":{"package_id":"63cd8d99b23346582c7854be","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"75930c143d2f6cec8d98946da95d30b7598e01064136d251e3176c3f0205ef6c"},"ros-noetic-depth-image-proc-1.17.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-eigen-conversions","ros-noetic-image-geometry","ros-noetic-image-transport","ros-noetic-nodelet","ros-noetic-sensor-msgs","ros-noetic-tf2","ros-noetic-tf2-ros"],"build":"py39h83befe1_5","timestamp":1674415050022,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dc0f7db2e5e6d3994251aaa7ba5cbf75","name":"ros-noetic-depth-image-proc","requires":[],"size":223905,"version":"1.17.0","binstar":{"package_id":"63cd8d9a2ff78d332eb6168e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bc3b6f5bcace97016c5e4124279e084f42302d2cd1fa5999a0463a72694a0049"},"ros-noetic-image-proc-1.17.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-geometry","ros-noetic-image-transport","ros-noetic-nodelet","ros-noetic-nodelet-topic-tools","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h83befe1_5","timestamp":1674414745159,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb9a2412b7828b727957a97edb8d5f59","name":"ros-noetic-image-proc","requires":[],"size":189351,"version":"1.17.0","binstar":{"package_id":"63cd8d9bd0e8c095e205d00a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d8fccdc8e0751d9f3c0b32d66e89532e2105305f8193dc23ae8e61367c90a0a2"},"ros-noetic-actionlib-tutorials-0.2.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-message-runtime","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674418419065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9c615b07880da0af0927555b96bcac38","name":"ros-noetic-actionlib-tutorials","requires":[],"size":345483,"version":"0.2.0","binstar":{"package_id":"63cd934a989160afcf5f665d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"695d4f6bd779c00b11d920dd8b2e75463d71629d798072e44a8641161906f871"},"ros-noetic-rqt-pose-view-0.5.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyopengl","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-gl-dependency","ros-noetic-python-qt-binding","ros-noetic-rospy","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","ros-noetic-tf","rospkg","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674418817673,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"045223e85a7ed22417392039d8e1c90b","name":"ros-noetic-rqt-pose-view","requires":[],"size":26616,"version":"0.5.11","binstar":{"package_id":"63cd934b68b198bb9512050b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"39aadc20354731ddddaf86bdb01ebca2e6f01f0fb9933b812a708b824ac56393"},"ros-noetic-ros-core-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-class-loader","ros-noetic-cmake-modules","ros-noetic-common-msgs","ros-noetic-gencpp","ros-noetic-geneus","ros-noetic-genlisp","ros-noetic-genmsg","ros-noetic-gennodejs","ros-noetic-genpy","ros-noetic-message-generation","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-ros","ros-noetic-ros-comm","ros-noetic-rosbag-migration-rule","ros-noetic-rosconsole","ros-noetic-rosconsole-bridge","ros-noetic-roscpp-core","ros-noetic-rosgraph-msgs","ros-noetic-roslisp","ros-noetic-rospack","ros-noetic-std-msgs","ros-noetic-std-srvs"],"build":"py39h46ec4ef_5","timestamp":1674418557311,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8dcb70f74ec9d598850837ddff43a706","name":"ros-noetic-ros-core","requires":[],"size":8857,"version":"1.5.0","binstar":{"package_id":"63cd934c5a31eb90f6e40387","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6ca08661265a10d1b03558aa82aaf0ac98e4c6bd3dcd8baa645ddd28bd0ff930"},"ros-noetic-rqt-srv-0.4.9-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosmsg","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-msg"],"build":"py39h46ec4ef_5","timestamp":1674430407506,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"01aa958ba8101f25fe9ec7248b7c3275","name":"ros-noetic-rqt-srv","requires":[],"size":15422,"version":"0.4.9","binstar":{"package_id":"63cd934e8ff1ad2742405c16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b91828e1a29d958c63146e8df821bb39a3f4f11685c2545c62d27cd53bfc8086"},"ros-noetic-geometry-tutorials-0.2.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-turtle-tf","ros-noetic-turtle-tf2"],"build":"py39h46ec4ef_5","timestamp":1674430485982,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e3f7583e3e379137d7bc9fe200f26f15","name":"ros-noetic-geometry-tutorials","requires":[],"size":9741,"version":"0.2.3","binstar":{"package_id":"63cd93d6d0e8c095e208c53d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1cccc801ab37655ef3402d41c461df7c85c22f70cb7867277ae0533d1518ea66"},"ros-noetic-jackal-description-0.8.5-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-lms1xx","ros-noetic-pointgrey-camera-description","ros-noetic-robot-state-publisher","ros-noetic-urdf","ros-noetic-xacro"],"build":"py39hae387e0_3","timestamp":1674430761119,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f065fa68776ca5fca193c00029276b2d","name":"ros-noetic-jackal-description","requires":[],"size":916380,"version":"0.8.5","binstar":{"package_id":"63cd93d8a64974fd09273cb6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"78736bc47fc0fd6c34ea3f5184facb01cece55c031cb9c572b8dcd878c7f2931"},"ros-noetic-diagnostics-1.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-aggregator","ros-noetic-diagnostic-analysis","ros-noetic-diagnostic-common-diagnostics","ros-noetic-diagnostic-updater","ros-noetic-self-test"],"build":"py39h46ec4ef_5","timestamp":1674424144281,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"af57a0a83078e924a3c7ab45a74f5883","name":"ros-noetic-diagnostics","requires":[],"size":9434,"version":"1.11.0","binstar":{"package_id":"63cd93da989160afcf5f74f8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cd55fe6130b540c9815e3b520a242e6e695ac33a6d366c84138f6381a9b96ec1"},"ros-noetic-interactive-marker-tutorials-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-interactive-markers","ros-noetic-roscpp","ros-noetic-tf","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674424653509,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"533f68a9310eeed2f85614c8303326ae","name":"ros-noetic-interactive-marker-tutorials","requires":[],"size":105688,"version":"0.11.0","binstar":{"package_id":"63cd93dc5a31eb90f6e4590e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aeef4c6949e2537f46afd6ac003a8b2c935d23b09e14497970bed5c91d2923cf"},"ros-noetic-rqt-action-0.4.9-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rospy","ros-noetic-rqt-msg","ros-noetic-rqt-py-common"],"build":"py39h46ec4ef_5","timestamp":1674437370229,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1178b44ada0333d461391a13c24dce33","name":"ros-noetic-rqt-action","requires":[],"size":15433,"version":"0.4.9","binstar":{"package_id":"63cd93dedbdf733521d5ab42","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"667e491c22a33f6b4dd64396913dac6526ace7de5000106d57bb2272fa7c68ad"},"ros-noetic-compressed-image-transport-1.14.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport"],"build":"py39h46ec4ef_5","timestamp":1674418671134,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"43b5c01622e199bb49252f14233f26b6","name":"ros-noetic-compressed-image-transport","requires":[],"size":132456,"version":"1.14.0","binstar":{"package_id":"63cd94aec37c80a75b0717dd","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5838a527803460d448d41c718eab8efbbb0ef267c31128237766781fa415e88d"},"ros-noetic-common-tutorials-0.2.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-tutorials","ros-noetic-nodelet-tutorial-math","ros-noetic-pluginlib-tutorials","ros-noetic-turtle-actionlib"],"build":"py39h46ec4ef_5","timestamp":1674424502093,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"202f01b014a07eda74fede62bb50a8e8","name":"ros-noetic-common-tutorials","requires":[],"size":8967,"version":"0.2.0","binstar":{"package_id":"63cd94e6989160afcf5ff522","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1b6d9506f734252687c957786d934654f0d96dc34a6aaf512c5b427e71f1debb"},"ros-noetic-joint-state-controller-0.21.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-interface","ros-noetic-hardware-interface","ros-noetic-realtime-tools","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1674418527917,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b32aea7f0e65e2c5e7d5cf759b5c532d","name":"ros-noetic-joint-state-controller","requires":[],"size":51391,"version":"0.21.0","binstar":{"package_id":"63cd953cc37c80a75b0756bb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"30c85a6259200f3c8e48ead793d4e9e86a1220538a45957609c1cb89b3c5ab44"},"ros-noetic-rqt-plot-0.4.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","matplotlib-base","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-python-qt-binding","ros-noetic-qt-gui-py-common","ros-noetic-qwt-dependency","ros-noetic-rosgraph","ros-noetic-rostopic","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","ros-noetic-std-msgs","rospkg"],"build":"py39h46ec4ef_5","timestamp":1674417822818,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ac2df7b16d3011795c2d2ce48143d3d","name":"ros-noetic-rqt-plot","requires":[],"size":47281,"version":"0.4.13","binstar":{"package_id":"63cd953fd0e8c095e20948c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"35bb81fd022682782b1c85765b79de7ea0436b2421d6dc2b3028da6bc0954a96"},"ros-noetic-rqt-image-view-0.4.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-geometry-msgs","ros-noetic-image-transport","ros-noetic-rqt-gui","ros-noetic-rqt-gui-cpp","ros-noetic-sensor-msgs","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674418154884,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6bac72b00fe9e313122223e8abaa87b2","name":"ros-noetic-rqt-image-view","requires":[],"size":66871,"version":"0.4.16","binstar":{"package_id":"63cd95418ff1ad2742410e13","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2661006fabb147557bbb99c9e6b5d634069342a6537d0a3357133428ba385cfe"},"ros-noetic-ros-base-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-bond-core","ros-noetic-dynamic-reconfigure","ros-noetic-nodelet-core","ros-noetic-ros-core"],"build":"py39h46ec4ef_5","timestamp":1674423828778,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f45ade838460d00700cb4753406819ae","name":"ros-noetic-ros-base","requires":[],"size":8744,"version":"1.5.0","binstar":{"package_id":"63cd9565d0e8c095e20950c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"539545b9bdf3f820189509cd238760ac59f0c2b0ab6746f06886ac7c42afa3e4"},"ros-noetic-rosbridge-server-0.11.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["autobahn","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosapi","ros-noetic-rosauth","ros-noetic-rosbridge-library","ros-noetic-rosbridge-msgs","ros-noetic-rospy","tornado","twisted"],"build":"py39h46ec4ef_5","timestamp":1674419552221,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5d1420363a230efe73a24a0d605915d6","name":"ros-noetic-rosbridge-server","requires":[],"size":39104,"version":"0.11.16","binstar":{"package_id":"63cd95f55a31eb90f6e4bfb3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"47a5c718afff491bd7fad9d6985488c0a834c17c0bd5aa37c0403c2eda683b20"},"ros-noetic-position-controllers-0.21.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-interface","ros-noetic-forward-command-controller","ros-noetic-hardware-interface","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674418340384,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3690002a795133b5c733a055d6a888b7","name":"ros-noetic-position-controllers","requires":[],"size":57247,"version":"0.21.0","binstar":{"package_id":"63cd9a670273ee116ae47e63","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c83e4e73123e0f86b3704bba15a1a2073c6254f5161830e4071531f81443cf01"},"ros-noetic-velocity-controllers-0.21.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-control-msgs","ros-noetic-control-toolbox","ros-noetic-controller-interface","ros-noetic-forward-command-controller","ros-noetic-hardware-interface","ros-noetic-realtime-tools","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-urdf"],"build":"py39h46ec4ef_5","timestamp":1674418142028,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f1327319535cfd63910587bb9e955619","name":"ros-noetic-velocity-controllers","requires":[],"size":70688,"version":"0.21.0","binstar":{"package_id":"63cd9a69dbdf733521d84247","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a0848c746f98b13d99e84d87285f9cbfc9a58291bf5115c3addff01301e733d4"},"ros-noetic-amcl-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python-orocos-kdl >=1.5.1,<1.6.0a0","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-updater","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-rosbag","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-srvs","ros-noetic-tf2","ros-noetic-tf2-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674417928001,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b69c93501d2ff45e0ccf441af7131049","name":"ros-noetic-amcl","requires":[],"size":281123,"version":"1.17.3","binstar":{"package_id":"63cd9a6d2ff78d332eb95e25","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ea63e09afbd5a5b084ac0d7523bfb05c03e718e5bb63427f711ce6b66ce0e3ab"},"ros-noetic-diff-drive-controller-0.21.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-control-msgs","ros-noetic-controller-interface","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-hardware-interface","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-realtime-tools","ros-noetic-tf","ros-noetic-urdf"],"build":"py39h83befe1_5","timestamp":1674418777567,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fb843218fa85c6aef2510308d4b72266","name":"ros-noetic-diff-drive-controller","requires":[],"size":143068,"version":"0.21.0","binstar":{"package_id":"63cd9a6fdbdf733521d84319","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a3a673bd6bff71a251ddbbaad2d48f55772d186fc8d8e307dc5045337dee9631"},"ros-noetic-gmapping-1.4.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nav-msgs","ros-noetic-nodelet","ros-noetic-openslam-gmapping","ros-noetic-roscpp","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674418121907,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eb366c3a1aa2cd27f1d9b8e34f79a12b","name":"ros-noetic-gmapping","requires":[],"size":342053,"version":"1.4.2","binstar":{"package_id":"63cd9a89dbdf733521d847e9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b1eba3733ab6728a836271101bd90382f2016f3ccd6d1a950cc72efbe3a2784d"},"ros-noetic-realsense2-camera-2.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-ddynamic-reconfigure","ros-noetic-diagnostic-updater","ros-noetic-genmsg","ros-noetic-image-transport","ros-noetic-librealsense2","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674418453242,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1c1ca38b2ee0949a385c68b64164f32c","name":"ros-noetic-realsense2-camera","requires":[],"size":356429,"version":"2.3.2","binstar":{"package_id":"63cd9a8bdbdf733521d8489e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3cbfe3c5c6d4252fe6ac200f3b7dc47ead7fe3639cbd1b94be9d292dc34a82f0"},"ros-noetic-gazebo-ros-2.9.2-py39h9530969_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-gazebo-dev","ros-noetic-gazebo-msgs","ros-noetic-geometry-msgs","ros-noetic-roscpp","ros-noetic-rosgraph-msgs","ros-noetic-roslib","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf","tbb >=2021.7.0","tinyxml"],"build":"py39h9530969_5","timestamp":1674419075822,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cfaad0ce820b0c14df584b0f8228de32","name":"ros-noetic-gazebo-ros","requires":[],"size":331058,"version":"2.9.2","binstar":{"package_id":"63cd9b9b8ff1ad27424363d8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2cf8b1f5c92c79467a19cbbff6c2117f362af06695c03ba2d5c30bb292e5fcf8"},"ros-noetic-warehouse-ros-0.9.5-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-rostime","ros-noetic-std-msgs","ros-noetic-tf"],"build":"py39h83befe1_5","timestamp":1674418549174,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a5b5369179476897bdca38fc752e70a8","name":"ros-noetic-warehouse-ros","requires":[],"size":101414,"version":"0.9.5","binstar":{"package_id":"63cd9b9d989160afcf60f1c1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a49df9007213959e0462e7a5ea5df3d6589d260ea2b25115002d13a054c9ad33"},"ros-noetic-nmea-navsat-driver-0.6.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyserial","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-nmea-msgs","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674419118528,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"628dc20d1ea3c3c711815f77bfa72857","name":"ros-noetic-nmea-navsat-driver","requires":[],"size":30983,"version":"0.6.1","binstar":{"package_id":"63cd9d53c37c80a75b0a4686","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d9414f8e3f9b64f862d38134369d95cef934a943c52a0f7244ee03bf9ed46eef"},"ros-noetic-geometry2-0.7.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-tf2","ros-noetic-tf2-bullet","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-kdl","ros-noetic-tf2-msgs","ros-noetic-tf2-py","ros-noetic-tf2-ros","ros-noetic-tf2-sensor-msgs","ros-noetic-tf2-tools"],"build":"py39h46ec4ef_5","timestamp":1674419525451,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9bf38d79a14f4da54c740913dc792710","name":"ros-noetic-geometry2","requires":[],"size":8738,"version":"0.7.6","binstar":{"package_id":"63cd9d55c37c80a75b0a4688","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8ba2887541b6a09e419a02bc310bfd26890241352eeaf40152ed0c44a469a037"},"ros-noetic-tf-conversions-1.13.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python-orocos-kdl","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-kdl-conversions","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674418513101,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"402a11754cc37dbf1f882fdc9b708eeb","name":"ros-noetic-tf-conversions","requires":[],"size":23031,"version":"1.13.2","binstar":{"package_id":"63cd9e5168b198bb95130c53","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7baaf04cd6ccfd53216ee2d3bb2891f0c369f0e4334c3dac6546ea6a9fb4d2d2"},"ros-noetic-rqt-nav-view-0.5.7-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-py-common","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674418266010,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9bfba0f5ff5ac5bcc1fa7668b1c82bf7","name":"ros-noetic-rqt-nav-view","requires":[],"size":25662,"version":"0.5.7","binstar":{"package_id":"63cd9e53912363225bcece18","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb33754630011eb92a1d074fd122a7245ae3dc8a2e67b6d6574ee4b3e7a77cc7"},"ros-noetic-pcl-ros-1.7.4-py39h2664d50_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pcl >=1.12.1,<1.12.2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-nodelet-topic-tools","ros-noetic-pcl-conversions","ros-noetic-pcl-msgs","ros-noetic-pluginlib","ros-noetic-rosbag","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-ros","xorg-libx11","xorg-libxext"],"build":"py39h2664d50_5","timestamp":1674419432943,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"546edd9d19f6314c8b85943f2fd6fddf","name":"ros-noetic-pcl-ros","requires":[],"size":1630735,"version":"1.7.4","binstar":{"package_id":"63cd9e58dbdf733521daa1d5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7edc661357b7d448512d4d853891a9efa9e1ac9008980d354c92e43b0c01e6f1"},"ros-noetic-stereo-image-proc-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-geometry","ros-noetic-image-proc","ros-noetic-image-transport","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-sensor-msgs","ros-noetic-stereo-msgs"],"build":"py39h46ec4ef_5","timestamp":1674419778471,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"344a97b449aab8134174b39e8fe64248","name":"ros-noetic-stereo-image-proc","requires":[],"size":236377,"version":"1.17.0","binstar":{"package_id":"63cd9e5a989160afcf612380","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b8b8ef86e2c7e637500444813cd20f77ae7054d38f8202d0702fc6be9128d2fa"},"ros-noetic-imu-filter-madgwick-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674419816287,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ef719a2decd3369d5ea91efea0fa594","name":"ros-noetic-imu-filter-madgwick","requires":[],"size":166732,"version":"1.2.5","binstar":{"package_id":"63cda06bb23346582c7b4d2b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0097ee00fdb5915ded6d5e70e1f6fc983c2ab33102a446f78ef128e8185c8dcd"},"ros-noetic-imu-complementary-filter-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674420073009,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cadd639466df8e59952ea7bd531cf520","name":"ros-noetic-imu-complementary-filter","requires":[],"size":116112,"version":"1.2.5","binstar":{"package_id":"63cda06ccd65eb0e14ab1e74","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d8a6b122a17fd34dc9873f74a90bb4e7d3f024d426d764c8c3cd5a37a0f1cef5"},"ros-noetic-hector-trajectory-server-0.5.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-hector-map-tools","ros-noetic-hector-nav-msgs","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674420319275,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"51d7c955dc936416a5e353180478bd16","name":"ros-noetic-hector-trajectory-server","requires":[],"size":53134,"version":"0.5.2","binstar":{"package_id":"63cda06dedf45d7c2ea7414b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bbe59395b2f929c70903e090f70f425eee37f62d5cba9c9a1163ed23278ba7d6"},"ros-noetic-image-transport-plugins-1.14.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-compressed-depth-image-transport","ros-noetic-compressed-image-transport","ros-noetic-theora-image-transport"],"build":"py39h46ec4ef_5","timestamp":1674425021734,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"88dcdb320b06597b3a8403598447ba91","name":"ros-noetic-image-transport-plugins","requires":[],"size":9603,"version":"1.14.0","binstar":{"package_id":"63cda859cd65eb0e14acab7f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"34fcbcd4c320938e48dade3c06f467b84b58604934d31ede2f81aa8aa0dc0d4c"},"ros-noetic-robot-localization-2.7.4-py39hae387e0_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","geographiclib-cpp >=2.1.2,<2.2.0a0","libcxx >=14.0.6","python","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-cmake-modules","ros-noetic-diagnostic-msgs","ros-noetic-diagnostic-updater","ros-noetic-eigen-conversions","ros-noetic-geographic-msgs","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39hae387e0_5","timestamp":1674434503950,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4f13a60b3839f226a299e891fd558afe","name":"ros-noetic-robot-localization","requires":[],"size":674006,"version":"2.7.4","binstar":{"package_id":"63cda8b5d0e8c095e212df59","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"32826292a3966f7c717d46b7ffb1baf47d211e2b41a813552668515126b66e72"},"ros-noetic-image-rotate-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-image-transport","ros-noetic-nodelet","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674424402965,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f11033343524e40857ba089f7056f1b6","name":"ros-noetic-image-rotate","requires":[],"size":107518,"version":"1.17.0","binstar":{"package_id":"63cda8bf5a31eb90f6ea475b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"647fa535965fe7ab1a2cabc99e5a140cc67220271f881eb0c16a979209b9ef2e"},"ros-noetic-rqt-bag-plugins-0.5.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pillow","pycairo","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-rosbag","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-rqt-bag","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-plot","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674430700958,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ae47f6a00c3b68092ee8e294d67c00c8","name":"ros-noetic-rqt-bag-plugins","requires":[],"size":34604,"version":"0.5.1","binstar":{"package_id":"63cdab0c912363225bd2787a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1cb3dee7a8cd6da764ae051fbfae92fab31ccc0d689f5175ca53ffa2565bb705"},"ros-noetic-rosbridge-suite-0.11.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosapi","ros-noetic-rosbridge-library","ros-noetic-rosbridge-server"],"build":"py39h46ec4ef_5","timestamp":1674425455460,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"242be75b048c954f14459c1b2c6722e3","name":"ros-noetic-rosbridge-suite","requires":[],"size":8967,"version":"0.11.16","binstar":{"package_id":"63cdad67c37c80a75b0fb239","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d27e6859c042a6984d6287d58b710d31fc29ae37ea50509423baf175f4394f9"},"ros-noetic-mbf-utility-0.4.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-roscpp","ros-noetic-tf","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674437627820,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8cb5cfeb5f59059c4f952a5cc7b52cb9","name":"ros-noetic-mbf-utility","requires":[],"size":30787,"version":"0.4.0","binstar":{"package_id":"63cdad748ff1ad274248812f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"15d5f3c08c63eeb782a3821654b1816cebb75a2fc3eefc5cb8368c544492743e"},"ros-noetic-geometry-1.13.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-eigen-conversions","ros-noetic-kdl-conversions","ros-noetic-tf","ros-noetic-tf-conversions"],"build":"py39h46ec4ef_5","timestamp":1674423989494,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"306c06bfe1b041a8b4725055082e1945","name":"ros-noetic-geometry","requires":[],"size":9822,"version":"1.13.2","binstar":{"package_id":"63cdb1592b70bce8309906fe","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"45a1909fc2484148c6f0fd69dc9d021ccdea2b56c21f379a50eaeb7357b87db4"},"ros-noetic-velodyne-gazebo-plugins-1.0.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-gazebo-ros","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674424715956,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"98e073b62b463cfc8bb3fd6b008492f6","name":"ros-noetic-velodyne-gazebo-plugins","requires":[],"size":121953,"version":"1.0.13","binstar":{"package_id":"63cdb2ccc37c80a75b11b496","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7be7581f4f0b461566be6d80765b35b1c1764c89b1234f4b42f9397547eae7e5"},"ros-noetic-perception-pcl-1.7.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pcl-conversions","ros-noetic-pcl-msgs","ros-noetic-pcl-ros"],"build":"py39h46ec4ef_5","timestamp":1674424894735,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4568e5c57ba84b3f40044d77cb8328ce","name":"ros-noetic-perception-pcl","requires":[],"size":9904,"version":"1.7.4","binstar":{"package_id":"63cdb2d08ff1ad27424a71a5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b60d929bd3d7562db7d63894e4eb19e55a496c21101065a751cf314c9df6f321"},"ros-noetic-pointgrey-camera-description-0.15.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-robot-state-publisher","ros-noetic-urdf","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674424808708,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8c9ea35b3db68a4aa3bafadb221b7c20","name":"ros-noetic-pointgrey-camera-description","requires":[],"size":35152,"version":"0.15.1","binstar":{"package_id":"63cdb2d20273ee116ae9004d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"aba16885d39086dc5770ded9a0b6663584be1ef143ef9dbec9db796ec93ffaa4"},"ros-noetic-turtlebot3-gazebo-1.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gazebo","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-gazebo-ros","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf","ros-noetic-turtlebot3-description"],"build":"py39h46ec4ef_5","timestamp":1674425128326,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83ca4edef6883b075686151835c58ab7","name":"ros-noetic-turtlebot3-gazebo","requires":[],"size":1488682,"version":"1.3.2","binstar":{"package_id":"63cdb4775a31eb90f6ed1873","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a7e4c83b150511f860d2f22aa84991ba621eed3a207cad53c696bafc9048708a"},"ros-noetic-turtlebot3-bringup-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-hls-lfcd-lds-driver","ros-noetic-joint-state-publisher","ros-noetic-robot-state-publisher","ros-noetic-roscpp","ros-noetic-rosserial-python","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-turtlebot3-description","ros-noetic-turtlebot3-msgs","ros-noetic-turtlebot3-teleop"],"build":"py39h46ec4ef_5","timestamp":1674424705494,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"18588a5043b1f048ae5c8900743f4a3f","name":"ros-noetic-turtlebot3-bringup","requires":[],"size":54904,"version":"1.2.5","binstar":{"package_id":"63cdb47b5a31eb90f6ed1d57","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"77f4a39a6faeb34b126c6646cd7f14d46afe8290a7383bea73e908fc414285fc"},"ros-noetic-turtlebot3-fake-1.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-robot-state-publisher","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf","ros-noetic-turtlebot3-msgs"],"build":"py39h46ec4ef_5","timestamp":1674425356017,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8b8fe6894a96c958e37e7f4d6a05ad08","name":"ros-noetic-turtlebot3-fake","requires":[],"size":43436,"version":"1.3.2","binstar":{"package_id":"63cdb47d8ff1ad27424b1dd6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"628f5d47b13e90c977d5624e2a67ac601179b1ab40d2a06d564bb3670a9cc46c"},"ros-noetic-costmap-2d-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-laser-geometry","ros-noetic-map-msgs","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rostest","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf2","ros-noetic-tf2-ros","ros-noetic-visualization-msgs","ros-noetic-voxel-grid"],"build":"py39h46ec4ef_5","timestamp":1674424470510,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8b296a38b471e3fe61dfeaa532c2da5f","name":"ros-noetic-costmap-2d","requires":[],"size":508174,"version":"1.17.3","binstar":{"package_id":"63cdb4a5912363225bd4f4cb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fa6a8ab248d32eab18224a5c316c600c539dc2a9deb025f3ecdf1706d4699d2d"},"ros-noetic-gazebo-ros-control-2.9.2-py39h9530969_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-control-toolbox","ros-noetic-controller-manager","ros-noetic-gazebo-ros","ros-noetic-hardware-interface","ros-noetic-joint-limits-interface","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-transmission-interface","ros-noetic-urdf","tbb >=2021.7.0"],"build":"py39h9530969_5","timestamp":1674425488560,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"968a633f515a2ab1bc92df178565c2df","name":"ros-noetic-gazebo-ros-control","requires":[],"size":184120,"version":"2.9.2","binstar":{"package_id":"63cdb4a714201bfa45a546c1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"fe31740c642e39527eff0976cb26daf4a2de3e6563536c8f91f3e7c739c09045"},"ros-noetic-laser-filters-1.9.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-dynamic-reconfigure","ros-noetic-filters","ros-noetic-laser-geometry","ros-noetic-message-filters","ros-noetic-nodelet","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674424978629,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"130b10b0046256c288431907f59719c3","name":"ros-noetic-laser-filters","requires":[],"size":703169,"version":"1.9.0","binstar":{"package_id":"63cdb4a9c37c80a75b121f2f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e566963993ed15bd86ae6a7a39907b305ee433683ac6afc642dcebe37be3b68b"},"ros-noetic-moveit-resources-fanuc-moveit-config-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-state-publisher","ros-noetic-moveit-resources-fanuc-description","ros-noetic-robot-state-publisher","ros-noetic-tf2-ros","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674424645222,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"bb45d4d754575666bbab8a1c051c2713","name":"ros-noetic-moveit-resources-fanuc-moveit-config","requires":[],"size":25659,"version":"0.8.2","binstar":{"package_id":"63cdb4aad0e8c095e217246d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c0b69767c96dc66cc8d70c4cfa56ed7000016b9a216b1e49614b3a014400ef97"},"ros-noetic-slam-toolbox-1.5.7-py39hd41f724_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["ceres-solver >=2.1.0,<2.2.0a0","eigen >=3.4.0,<3.4.1.0a0","libcxx >=14.0.6","liblapack >=3.9.0,<4.0a0","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-interactive-markers","ros-noetic-libg2o","ros-noetic-map-server","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-slam-toolbox-msgs","ros-noetic-sparse-bundle-adjustment","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-visualization-msgs","suitesparse >=5.10.1,<6.0a0","tbb >=2021.7.0","tbb-devel","xorg-libx11","xorg-libxext"],"build":"py39hd41f724_5","timestamp":1674425703712,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6c530b21089226a790688a8435191da4","name":"ros-noetic-slam-toolbox","requires":[],"size":1474250,"version":"1.5.7","binstar":{"package_id":"63cdb583c37c80a75b124caa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"893a0dced7c2adb671905b747bbb66674f6cab528261c06230a96e261c51691d"},"ros-noetic-effort-controllers-0.21.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-control-msgs","ros-noetic-control-toolbox","ros-noetic-controller-interface","ros-noetic-forward-command-controller","ros-noetic-hardware-interface","ros-noetic-realtime-tools","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-urdf"],"build":"py39h46ec4ef_5","timestamp":1674429909100,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c9efe1f28cf2e9e8399894fb24d2c9e1","name":"ros-noetic-effort-controllers","requires":[],"size":82387,"version":"0.21.0","binstar":{"package_id":"63cdb698b23346582c7fa779","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1b1850958561fa6f4605ca2bfed46e91bf251c3b738095fc35b5ffb9c600c930"},"ros-noetic-laser-assembler-1.7.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-filters","ros-noetic-laser-geometry","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674430207065,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"829e231a33f8766b113f178c8e9dafc6","name":"ros-noetic-laser-assembler","requires":[],"size":495906,"version":"1.7.8","binstar":{"package_id":"63cdb69dcd65eb0e14b0e502","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"81ee1eb4989d206d41b868a9729c950012bcbf0758db247502a99d9f40c65b98"},"ros-noetic-interactive-marker-twist-server-1.2.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-interactive-markers","ros-noetic-roscpp","ros-noetic-tf","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674437869674,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3d490b17015a320300a080c27204eea0","name":"ros-noetic-interactive-marker-twist-server","requires":[],"size":31893,"version":"1.2.2","binstar":{"package_id":"63cdb6acd0e8c095e21800be","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"90ef6aff15b8713a15a69a9c4f7a38675644c0f2c493c73cff3732beaaad10bb"},"ros-noetic-image-pipeline-1.17.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-camera-calibration","ros-noetic-depth-image-proc","ros-noetic-image-proc","ros-noetic-image-publisher","ros-noetic-image-rotate","ros-noetic-image-view","ros-noetic-stereo-image-proc"],"build":"py39h46ec4ef_5","timestamp":1674430296879,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c1dceb795950a7d72f13d03086516b98","name":"ros-noetic-image-pipeline","requires":[],"size":10063,"version":"1.17.0","binstar":{"package_id":"63cdb7ed2ff78d332ec1945c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ddd133172397909747c03b2f0e0a5c644aed484dd2a4fa2cdea61687f30838f9"},"ros-noetic-robot-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-control-msgs","ros-noetic-diagnostics","ros-noetic-executive-smach","ros-noetic-filters","ros-noetic-geometry","ros-noetic-joint-state-publisher","ros-noetic-kdl-parser","ros-noetic-robot-state-publisher","ros-noetic-ros-base","ros-noetic-urdf","ros-noetic-urdf-parser-plugin","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674430161387,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b2c320f93fb7e86c3d8b197acf428cd8","name":"ros-noetic-robot","requires":[],"size":9660,"version":"1.5.0","binstar":{"package_id":"63cdc3e8dbdf733521eb8531","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f7a009a8153beabd59a69992b5ffc7ee886d7ae67db7bd2e620374aab4287d9c"},"ros-noetic-velodyne-simulator-1.0.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-velodyne-description","ros-noetic-velodyne-gazebo-plugins"],"build":"py39h46ec4ef_5","timestamp":1674430627985,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"06a33bccd1d7b198886d3e3e5e971a20","name":"ros-noetic-velodyne-simulator","requires":[],"size":10369,"version":"1.0.13","binstar":{"package_id":"63cdc3ead0e8c095e21e2fc7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cf8fa3cef74b02038d2481c98d0031b0a45846ba25072910159322185b4336a4"},"ros-noetic-turtlebot3-example-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-interactive-markers","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-turtlebot3-bringup","ros-noetic-turtlebot3-msgs","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674430485262,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1cf5f1b2dbe13642dbefafde871624ef","name":"ros-noetic-turtlebot3-example","requires":[],"size":50833,"version":"1.2.5","binstar":{"package_id":"63cdc4a8cd65eb0e14b57d68","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0d15973eb7d1206032a5032cbcdcb719b874561b346f2ba9269c296b4752990b"},"ros-noetic-turtlebot3-slam-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-turtlebot3-bringup"],"build":"py39h46ec4ef_5","timestamp":1674430335492,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a3ff9fa48709274c1016843ecbc78b75","name":"ros-noetic-turtlebot3-slam","requires":[],"size":42714,"version":"1.2.5","binstar":{"package_id":"63cdc4acdbdf733521ebf789","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"87a072839c9317cd9dffe9505c03f861f77a295e436410f6aa1f96532a4f3611"},"ros-noetic-turtlebot3-simulations-1.3.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-turtlebot3-fake","ros-noetic-turtlebot3-gazebo"],"build":"py39h46ec4ef_5","timestamp":1674430627347,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"252dd3882a977a8375504c7a3c26be28","name":"ros-noetic-turtlebot3-simulations","requires":[],"size":10467,"version":"1.3.2","binstar":{"package_id":"63cdc4aecd65eb0e14b57d98","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f2dbed9772f07775d304c369dec5b1f3f3c23f8d8d54923e65f55ce32834171d"},"ros-noetic-laser-pipeline-1.6.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-laser-assembler","ros-noetic-laser-filters","ros-noetic-laser-geometry"],"build":"py39h46ec4ef_5","timestamp":1674432616547,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cb3eea279251ea6a24e007b9ee59825c","name":"ros-noetic-laser-pipeline","requires":[],"size":9389,"version":"1.6.4","binstar":{"package_id":"63cdd077dbdf733521efe04d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"187454fcd2d844aa8585291f2b9477eb9dd0ee8f0be03dd6c9c0d5e611a5dafa"},"ros-noetic-sick-tim-0.0.17-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libusb >=1.0.26,<2.0a0","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-updater","ros-noetic-dynamic-reconfigure","ros-noetic-robot-state-publisher","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674434395402,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ee3f2b51fe40d8262aca596ba45d2472","name":"ros-noetic-sick-tim","requires":[],"size":1098633,"version":"0.0.17","binstar":{"package_id":"63cdd7db2ff78d332eca94a1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"25a761e0f1a592334325fd8d019dfd30f46ea95a540431a150ec0842a891fc5d"},"ros-noetic-perception-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-image-common","ros-noetic-image-pipeline","ros-noetic-image-transport-plugins","ros-noetic-laser-pipeline","ros-noetic-perception-pcl","ros-noetic-ros-base","ros-noetic-vision-opencv"],"build":"py39h46ec4ef_5","timestamp":1674434515526,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"75d6d1138d4ab20b9826e3d37bc4fa90","name":"ros-noetic-perception","requires":[],"size":10387,"version":"1.5.0","binstar":{"package_id":"63cdd7e086de531a28e0ea71","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"793fff420ab8fcc23bd6984fa9c2931f5046ff8057b0720188415532439d5628"},"ros-noetic-rviz-1.14.19-py39hba1f284_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","libcxx >=14.0.6","ogre >=1.10.12,<1.11.0a0","python","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-image-transport","ros-noetic-interactive-markers","ros-noetic-laser-geometry","ros-noetic-map-msgs","ros-noetic-media-export","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-python-qt-binding","ros-noetic-resource-retriever","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-urdf","ros-noetic-visualization-msgs","tinyxml2 >=9.0.0,<10.0a0","urdfdom >=3.1.0,<3.2.0a0","xorg-libx11","xorg-libxext","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39hba1f284_5","timestamp":1674435584574,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b9e69b0fdd7d483c9cfced2d23505070","name":"ros-noetic-rviz","requires":[],"size":2796516,"version":"1.14.19","binstar":{"package_id":"63cdda52dbdf733521f4689d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"219421116fe72b15a4b643a13cd73bd2c7d453f2e6aae055ea5f298b449ed09e"},"ros-noetic-rviz-1.14.20-py39h4f7a39c_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","ogre >=1.10.12,<1.11.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-image-transport","ros-noetic-interactive-markers","ros-noetic-laser-geometry","ros-noetic-map-msgs","ros-noetic-media-export","ros-noetic-message-filters","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-python-qt-binding","ros-noetic-resource-retriever","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-urdf","ros-noetic-visualization-msgs","tinyxml2 >=9.0.0,<10.0a0","urdfdom >=3.1.1,<3.2.0a0","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39h4f7a39c_6","timestamp":1681948598565,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"07cb26504a0fd578061216fe56fe167c","name":"ros-noetic-rviz","requires":[],"size":2801517,"version":"1.14.20","binstar":{"package_id":"63cdda52dbdf733521f4689d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"59e7b7eb387f9a33699ba307b2c830dbcc77158b296abe06cca96202087caffe"},"ros-noetic-rqt-rviz-0.7.0-py39h83befe1_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-pluginlib","ros-noetic-rqt-gui","ros-noetic-rqt-gui-cpp","ros-noetic-rviz","xorg-libx11","xorg-libxext"],"build":"py39h83befe1_5","timestamp":1674437176235,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"df15223bda8d44a7cd8d93a897ce251a","name":"ros-noetic-rqt-rviz","requires":[],"size":46077,"version":"0.7.0","binstar":{"package_id":"63cddf59dbdf733521f677f8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8500c05e098fed0a83555295421876d2dcd4965bbb7503ba6c81f0f92725676a"},"ros-noetic-rviz-python-tutorial-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rviz"],"build":"py39h46ec4ef_5","timestamp":1674438068848,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"897c7fcf6ed8f70edbac59d04377800c","name":"ros-noetic-rviz-python-tutorial","requires":[],"size":18414,"version":"0.11.0","binstar":{"package_id":"63cddfa85a31eb90f6f8c65b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bef7ebe3732a2cde09df9eba6ae64bd5b7fdeff788290c84ba0c58fc3632c36d"},"ros-noetic-jackal-viz-0.4.0-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-joint-state-publisher","ros-noetic-joint-state-publisher-gui","ros-noetic-rviz"],"build":"py39hae387e0_3","timestamp":1674437482798,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4c373c80a53b9e33c90a312d8342b589","name":"ros-noetic-jackal-viz","requires":[],"size":17523,"version":"0.4.0","binstar":{"package_id":"63cddfaa912363225bdf3cc6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"14b5931321fcb72d489f921c4c29887b82f52325bc36191589f53dbe23f6b846"},"ros-noetic-librviz-tutorial-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-rviz","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674437834367,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"83bcc334c63a59aedd74001baa0b95d3","name":"ros-noetic-librviz-tutorial","requires":[],"size":27809,"version":"0.11.0","binstar":{"package_id":"63cddfab0273ee116aefaea9","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f9bb9e67e2866b3534dcb5ff884606083e7bfe7713e36262726c4bbb5cc72225"},"ros-noetic-rviz-plugin-tutorials-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rviz","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674437496155,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ffe14c6e7886cb405d55efe0efd5338c","name":"ros-noetic-rviz-plugin-tutorials","requires":[],"size":126018,"version":"0.11.0","binstar":{"package_id":"63cddfad989160afcf69fcff","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"18ba549cecc8a258e2b7164ac3b852bd10b1c418cb1f993b6d1c7091e97e0aa5"},"ros-noetic-urdf-tutorial-0.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-state-publisher","ros-noetic-joint-state-publisher-gui","ros-noetic-robot-state-publisher","ros-noetic-rviz","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674438353622,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ba6ee5ebb2c943c7f583d2c15fbafeca","name":"ros-noetic-urdf-tutorial","requires":[],"size":823106,"version":"0.5.0","binstar":{"package_id":"63cddfaf59c09271a4221fe1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1edcbb30017ce825dd171ab641a0aeedddf7683c4487e0542e0f8ec9dc19f0bb"},"ros-noetic-moveit-resources-panda-moveit-config-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-state-publisher","ros-noetic-joint-state-publisher-gui","ros-noetic-moveit-resources-panda-description","ros-noetic-robot-state-publisher","ros-noetic-rviz","ros-noetic-tf2-ros","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674439611432,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"431c17a26a21ccc41072f3667e7bf2f1","name":"ros-noetic-moveit-resources-panda-moveit-config","requires":[],"size":29875,"version":"0.8.2","binstar":{"package_id":"63cde1a159c09271a422989e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4a65191c241f9b0de7b04976474947dd6d9608bb38afdd04882841e912f97da8"},"ros-noetic-jackal-desktop-0.4.0-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-jackal-viz"],"build":"py39hae387e0_3","timestamp":1674441113719,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4b3a62308a7a0d8c3a41b68c9aebb839","name":"ros-noetic-jackal-desktop","requires":[],"size":9865,"version":"0.4.0","binstar":{"package_id":"63cde1a4b23346582c86752a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4d698308c040cd20ef5b4cb135c6b5af6d2278100e3166b5e36b3d5c75827912"},"ros-noetic-visualization-tutorials-0.11.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-interactive-marker-tutorials","ros-noetic-librviz-tutorial","ros-noetic-rviz-plugin-tutorials","ros-noetic-rviz-python-tutorial","ros-noetic-visualization-marker-tutorials"],"build":"py39h46ec4ef_5","timestamp":1674440480628,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6d991c1c8f0b7fd72f62f4e80fd4f52c","name":"ros-noetic-visualization-tutorials","requires":[],"size":10382,"version":"0.11.0","binstar":{"package_id":"63cde1a68ff1ad274259f6a8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f541d2f9fb5526a75179ff84a60c02f876d89d18614312e04577d96ab6ab92b"},"ros-noetic-rqt-robot-dashboard-0.5.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-python-qt-binding","ros-noetic-qt-gui","ros-noetic-rospy","ros-noetic-rqt-console","ros-noetic-rqt-gui","ros-noetic-rqt-gui-py","ros-noetic-rqt-nav-view","ros-noetic-rqt-robot-monitor"],"build":"py39h46ec4ef_5","timestamp":1674439874956,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a202d3ce5c26b4e9ebb50b4df872acd0","name":"ros-noetic-rqt-robot-dashboard","requires":[],"size":1678302,"version":"0.5.8","binstar":{"package_id":"63cde1a859c09271a42298e6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0ee32ce30c151d84d6ccc71acfcf6154620de2e668146db43a471848d90f454a"},"ros-noetic-rqt-common-plugins-0.4.9-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rqt-action","ros-noetic-rqt-bag","ros-noetic-rqt-bag-plugins","ros-noetic-rqt-console","ros-noetic-rqt-dep","ros-noetic-rqt-graph","ros-noetic-rqt-image-view","ros-noetic-rqt-launch","ros-noetic-rqt-logger-level","ros-noetic-rqt-msg","ros-noetic-rqt-plot","ros-noetic-rqt-publisher","ros-noetic-rqt-py-common","ros-noetic-rqt-py-console","ros-noetic-rqt-reconfigure","ros-noetic-rqt-service-caller","ros-noetic-rqt-shell","ros-noetic-rqt-srv","ros-noetic-rqt-top","ros-noetic-rqt-topic","ros-noetic-rqt-web"],"build":"py39h46ec4ef_5","timestamp":1674440284021,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7ef149eaf3ace3a9f21c2dd53ee9a506","name":"ros-noetic-rqt-common-plugins","requires":[],"size":10531,"version":"0.4.9","binstar":{"package_id":"63cde32c912363225be036ee","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e639399c0cae2f6b3cfe0c9da4fbe9e91f82415b66ee271223f0b2bddab9be2"},"ros-noetic-viz-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-ros-base","ros-noetic-rqt-common-plugins","ros-noetic-rqt-robot-plugins","ros-noetic-rviz"],"build":"py39h46ec4ef_5","timestamp":1674457276571,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0d80bf884a64fa33f5ec1c23b8d0d9b8","name":"ros-noetic-viz","requires":[],"size":10578,"version":"1.5.0","binstar":{"package_id":"63cde32d5a31eb90f6f9b3d3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"418f3e3a3cbb7a9999bd0b4ef7e7375dfdf3b4c25c53d4f3131bb0c32a84e3a5"},"ros-noetic-rqt-robot-plugins-0.5.8-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rqt-moveit","ros-noetic-rqt-nav-view","ros-noetic-rqt-pose-view","ros-noetic-rqt-robot-dashboard","ros-noetic-rqt-robot-monitor","ros-noetic-rqt-robot-steering","ros-noetic-rqt-runtime-monitor","ros-noetic-rqt-rviz","ros-noetic-rqt-tf-tree"],"build":"py39h46ec4ef_5","timestamp":1674452246059,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f42e8f5f1408b285630d5f20cf7e615c","name":"ros-noetic-rqt-robot-plugins","requires":[],"size":11094,"version":"0.5.8","binstar":{"package_id":"63cde32db23346582c869736","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1a161f3e494922ce592bef238564c6edc05f317a577ed577fcbf84968fe863f4"},"ros-noetic-desktop-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-common-tutorials","ros-noetic-geometry-tutorials","ros-noetic-joint-state-publisher-gui","ros-noetic-robot","ros-noetic-ros-tutorials","ros-noetic-roslint","ros-noetic-urdf-tutorial","ros-noetic-visualization-tutorials","ros-noetic-viz"],"build":"py39h46ec4ef_5","timestamp":1674470709084,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6714956d835b35aa9118b6f1fd0d7ec6","name":"ros-noetic-desktop","requires":[],"size":11014,"version":"1.5.0","binstar":{"package_id":"63cde32e8ff1ad27425a77b0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4ab62feaf47064eeaccd1ff22f5dc0e0ba67782291e7c509224dbb816092f1f9"},"ros-noetic-rviz-imu-plugin-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-roscpp","ros-noetic-rviz","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1674438688724,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"dccb7510b492bd68e097c3f0a00e12ff","name":"ros-noetic-rviz-imu-plugin","requires":[],"size":105172,"version":"1.2.5","binstar":{"package_id":"63cde835912363225be18fc1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8d9a3e6b7609f286f5f7e6557d511afe09da2e8e07e29d10a55b9b8ea5815ce9"},"ros-noetic-costmap-converter-0.0.13-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-cv-bridge","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1674438172184,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f0967729b638a90cd41271fbe809e64f","name":"ros-noetic-costmap-converter","requires":[],"size":400601,"version":"0.0.13","binstar":{"package_id":"63cde836c37c80a75b25a534","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0ea80cbbfb090d6d0122f91e2428dbc4bdb29bab8b8402a2059ab1ee55482dad"},"ros-noetic-imu-tools-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-imu-complementary-filter","ros-noetic-imu-filter-madgwick","ros-noetic-rviz-imu-plugin"],"build":"py39h46ec4ef_5","timestamp":1674439983652,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"af1e1ec69a8280a6ea6f078ed076c126","name":"ros-noetic-imu-tools","requires":[],"size":10373,"version":"1.2.5","binstar":{"package_id":"63cded40912363225be2beb3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3050b99d0e9eafd9be9e5a6e3d64691210a933141c8b9d78ce0a5fa1b880e66f"},"ros-noetic-urdf-sim-tutorial-0.5.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-controller-manager","ros-noetic-diff-drive-controller","ros-noetic-gazebo-ros","ros-noetic-gazebo-ros-control","ros-noetic-joint-state-controller","ros-noetic-position-controllers","ros-noetic-robot-state-publisher","ros-noetic-rqt-robot-steering","ros-noetic-rviz","ros-noetic-urdf-tutorial","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674440919499,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"398f2c740bb993ab34d069df0301f9ef","name":"ros-noetic-urdf-sim-tutorial","requires":[],"size":20164,"version":"0.5.1","binstar":{"package_id":"63cdf1add0e8c095e234b6d7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e1c7af2b0d70dba500b676233a5890501773e166a10122bcde2047b39a320a55"},"ros-noetic-hector-gazebo-plugins-0.5.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gazebo","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-gazebo-ros","ros-noetic-geographic-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674440384318,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c8cbf4ec1fdfb52c137887b7fcc18e5f","name":"ros-noetic-hector-gazebo-plugins","requires":[],"size":651897,"version":"0.5.4","binstar":{"package_id":"63cdf1e2c37c80a75b2892e5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e63a6fe7edff6a121029526262089ae42ad771c5338ddc59fe03c8c808d29236"},"ros-noetic-gazebo-plugins-2.9.2-py39h9530969_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-camera-info-manager","ros-noetic-cv-bridge","ros-noetic-diagnostic-updater","ros-noetic-dynamic-reconfigure","ros-noetic-gazebo-dev","ros-noetic-gazebo-msgs","ros-noetic-gazebo-ros","ros-noetic-geometry-msgs","ros-noetic-image-transport","ros-noetic-message-runtime","ros-noetic-nav-msgs","ros-noetic-nodelet","ros-noetic-polled-camera","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rosgraph-msgs","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf","ros-noetic-tf2-ros","ros-noetic-trajectory-msgs","ros-noetic-urdf","ros-noetic-visualization-msgs","tbb >=2021.7.0"],"build":"py39h9530969_5","timestamp":1674441479623,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d25b037b3a6037dc47b215b14a6eb760","name":"ros-noetic-gazebo-plugins","requires":[],"size":2148769,"version":"2.9.2","binstar":{"package_id":"63cdf1ecc37c80a75b289417","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e00d3cbccafd3676edf1948e6bcbbd82d985dfb949c2a747722fd7e9c4d8e5f"},"ros-noetic-nav-core-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-geometry-msgs","ros-noetic-std-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674439776241,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ec3bd84c76ba01a89d4f5f4b5728a525","name":"ros-noetic-nav-core","requires":[],"size":16079,"version":"1.17.3","binstar":{"package_id":"63cdf328b23346582c88f8ea","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"39b947e3650e428b17007ce19ccf79b435886a37928b5f15476b1f312f871197"},"ros-noetic-gazebo-ros-pkgs-2.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-gazebo-dev","ros-noetic-gazebo-msgs","ros-noetic-gazebo-plugins","ros-noetic-gazebo-ros"],"build":"py39h46ec4ef_5","timestamp":1674442046847,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c141e3bc35c9a88d0433effeb3f5e69c","name":"ros-noetic-gazebo-ros-pkgs","requires":[],"size":10621,"version":"2.9.2","binstar":{"package_id":"63cdf5458ff1ad27425fd4b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2f0d839e8670cf8f5f6bf587ff77907bf76df678b41f038e14ec6c2697047b06"},"ros-noetic-mbf-costmap-core-0.4.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-geometry-msgs","ros-noetic-mbf-abstract-core","ros-noetic-mbf-utility","ros-noetic-nav-core","ros-noetic-std-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674441913288,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e8f4af4cc7831ae67ab7953b4f95e9d","name":"ros-noetic-mbf-costmap-core","requires":[],"size":16460,"version":"0.4.0","binstar":{"package_id":"63cdf547989160afcf6c8e0e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6b944f30e888f0253d3406b8c31cf1c8e14627620be576c13918a66e25629f0c"},"ros-noetic-jackal-gazebo-0.4.0-py39hae387e0_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-noetic-effort-controllers","ros-noetic-gazebo-plugins","ros-noetic-gazebo-ros","ros-noetic-gazebo-ros-control","ros-noetic-gazebo-ros-pkgs","ros-noetic-hector-gazebo-plugins","ros-noetic-jackal-control","ros-noetic-jackal-description","ros-noetic-joy","ros-noetic-position-controllers","ros-noetic-velocity-controllers","ros-noetic-velodyne-simulator"],"build":"py39hae387e0_3","timestamp":1674450472218,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a9e80377e5cd91b4786f0b614661b292","name":"ros-noetic-jackal-gazebo","requires":[],"size":841414,"version":"0.4.0","binstar":{"package_id":"63ce106a208d2222c0b2adc5","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bb1d4c35ea52b6b61e4e69a4a32c99506941149b7eb7d1ed1b99d30ef1e58061"},"ros-noetic-moveit-core-1.1.11-py39hf4704b6_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp >=5.2.5,<5.2.6.0a0","boost >=1.78.0,<1.78.1.0a0","bullet","console_bridge >=1.0.2,<1.1.0a0","eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-eigen-stl-containers","ros-noetic-fcl","ros-noetic-geometric-shapes","ros-noetic-geometry-msgs","ros-noetic-kdl-parser","ros-noetic-moveit-msgs","ros-noetic-octomap","ros-noetic-octomap-msgs","ros-noetic-pluginlib","ros-noetic-pybind11-catkin","ros-noetic-random-numbers","ros-noetic-rosconsole","ros-noetic-roslib","ros-noetic-rostime","ros-noetic-ruckig","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-srdfdom","ros-noetic-std-msgs","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-trajectory-msgs","ros-noetic-urdf","ros-noetic-visualization-msgs","ros-noetic-xmlrpcpp","urdfdom >=3.1.0,<3.2.0a0","urdfdom_headers"],"build":"py39hf4704b6_5","timestamp":1674451203660,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f7e81ae2ccd12d499d71b9bd8d077e6e","name":"ros-noetic-moveit-core","requires":[],"size":1686912,"version":"1.1.11","binstar":{"package_id":"63ce1394cd65eb0e14c9f42f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"728865ee80eedf87274c5742b19f0cc75902b3dc8c240300ff487ca1ecc45a87"},"ros-noetic-clear-costmap-recovery-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-nav-core","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674452047896,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ff95f6d8f01b7c44f5b8391eae7a0c80","name":"ros-noetic-clear-costmap-recovery","requires":[],"size":43266,"version":"1.17.3","binstar":{"package_id":"63ce1739989160afcf72bf28","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"94828750238f5f1ef321cc800f9cfd8d68419fb3604ddc247e6704d46bf42fed"},"ros-noetic-navfn-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf2-ros","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674451810584,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ef0c3b5ad0ab92fd1a6a021ff1c484e0","name":"ros-noetic-navfn","requires":[],"size":124528,"version":"1.17.3","binstar":{"package_id":"63ce173b68b198bb951c5e50","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3dbcfd4d1f05afde968aa2bc744908818293a2888a26a0b7a78264accd06d699"},"ros-noetic-base-local-planner-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-costmap-2d","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-tf2","ros-noetic-tf2-ros","ros-noetic-visualization-msgs","ros-noetic-voxel-grid"],"build":"py39h46ec4ef_5","timestamp":1674451553675,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"e3cb85c8d46be9a60a0a56399718e5c3","name":"ros-noetic-base-local-planner","requires":[],"size":251588,"version":"1.17.3","binstar":{"package_id":"63ce173e8ff1ad27426d0557","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d3edba2f351e76e8d8b0b76c50d40be98b80ba78089ae9badada58f56b66be39"},"ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-eigen-conversions","ros-noetic-moveit-core","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2-kdl"],"build":"py39h46ec4ef_5","timestamp":1674454047482,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d6689e486e39f6fe49a1e0418649c5fc","name":"ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin","requires":[],"size":119126,"version":"0.8.2","binstar":{"package_id":"63ce1a25d0e8c095e24669c6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1489649639ba0c7e7f4fd960289c122f1d379a3e6d0542c81495dfa3449c47af"},"ros-noetic-moveit-ros-occupancy-map-monitor-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometric-shapes","ros-noetic-moveit-core","ros-noetic-moveit-msgs","ros-noetic-octomap","ros-noetic-pluginlib","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674453090331,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"52dc00e0045ed94a5f75bdc954a2598f","name":"ros-noetic-moveit-ros-occupancy-map-monitor","requires":[],"size":144350,"version":"1.1.11","binstar":{"package_id":"63ce1b09dbdf7335210c4582","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3494ab4eb53f1ecfd99a0aabd28cf9857a4cf784a350f3c9900254f865c2a711"},"ros-noetic-moveit-simple-controller-manager-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-control-msgs","ros-noetic-moveit-core","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674453738650,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"99566bd086c6556a03d383c6c0b32e5d","name":"ros-noetic-moveit-simple-controller-manager","requires":[],"size":195119,"version":"1.1.11","binstar":{"package_id":"63ce1b0d989160afcf738400","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3aae68361310924c042631dcea5d92230c58dced37b9951a910f1fa311789043"},"ros-noetic-chomp-motion-planner-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1674454429287,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a60e502df513a090883b7ca0ea595f4f","name":"ros-noetic-chomp-motion-planner","requires":[],"size":131411,"version":"1.1.11","binstar":{"package_id":"63ce1bdac37c80a75b3d8f45","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"decca4438eaad991567b2158ec512e29be17c88a040d31f82234580ffda85690"},"ros-noetic-rotate-recovery-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-geometry-msgs","ros-noetic-nav-core","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674453414325,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"9d105751e9a21df5e3b01806d0db5c1a","name":"ros-noetic-rotate-recovery","requires":[],"size":37741,"version":"1.17.3","binstar":{"package_id":"63ce1ed5989160afcf744ee0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f24c1c84bd2d1ba29447e19f8d026029f92105065e126ae4eb7e9c4ac62df695"},"ros-noetic-moveit-resources-prbt-moveit-config-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-state-publisher","ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin","ros-noetic-moveit-resources-prbt-support","ros-noetic-robot-state-publisher","ros-noetic-rviz","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674457179159,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2ae4219cb563d9670305e1f66d0b4cdb","name":"ros-noetic-moveit-resources-prbt-moveit-config","requires":[],"size":25565,"version":"0.8.2","binstar":{"package_id":"63ce205359c09271a42e43a1","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f89e488a77db8973c6e9a529615d50789b262127930f3bab64a66620ec4ca57e"},"ros-noetic-moveit-ros-control-interface-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-controller-manager-msgs","ros-noetic-moveit-core","ros-noetic-moveit-simple-controller-manager","ros-noetic-pluginlib","ros-noetic-trajectory-msgs"],"build":"py39h46ec4ef_5","timestamp":1674457069223,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3de47936e037d7e04670d5afec5fa44e","name":"ros-noetic-moveit-ros-control-interface","requires":[],"size":166470,"version":"1.1.11","binstar":{"package_id":"63ce205568b198bb951d6290","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b515ec29a1b9c9803e208fac1314d8981eaae023eb4e7ae21f354840feb29cfa"},"ros-noetic-moveit-ros-planning-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-dynamic-reconfigure","ros-noetic-message-filters","ros-noetic-moveit-core","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-occupancy-map-monitor","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-srdfdom","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-msgs","ros-noetic-tf2-ros","ros-noetic-urdf"],"build":"py39h46ec4ef_5","timestamp":1674456571565,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1b02dffc7cea3dbd0e699b351f408bf1","name":"ros-noetic-moveit-ros-planning","requires":[],"size":1038889,"version":"1.1.11","binstar":{"package_id":"63ce2059c37c80a75b3f5ec4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e170dc587b995cf7554822274c58ee91c2f64e6b962ea8b58a5bcff2f0b5859a"},"ros-noetic-simulators-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-gazebo-ros-pkgs","ros-noetic-robot","ros-noetic-rqt-common-plugins","ros-noetic-rqt-robot-plugins"],"build":"py39h46ec4ef_5","timestamp":1674470614403,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"95a3f332202a05086f235f0c42c75c6e","name":"ros-noetic-simulators","requires":[],"size":11518,"version":"1.5.0","binstar":{"package_id":"63ce2bed0273ee116afd146c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7af19e878c9c090aa89368128ac0f11657d1a918a4eb4dacc1065997ee2c42d3"},"ros-noetic-moveit-kinematics-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","lxml","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","pyyaml","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-core","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-kdl","urdfdom"],"build":"py39h46ec4ef_5","timestamp":1674462804370,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5dfe2f0b751283f60166dba9b75a2720","name":"ros-noetic-moveit-kinematics","requires":[],"size":265338,"version":"1.1.11","binstar":{"package_id":"63ce2f148ff1ad2742762b05","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1f6f2d3a747cfab2c74525cbd60fa1ddb3c38f90423bcbb8682cf1e2a83017ba"},"ros-noetic-moveit-ros-robot-interaction-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-interactive-markers","ros-noetic-moveit-ros-planning","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674463692394,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"5977bb5380e925bc0c23bac96e3b95cf","name":"ros-noetic-moveit-ros-robot-interaction","requires":[],"size":124539,"version":"1.1.11","binstar":{"package_id":"63ce2f19d0e8c095e251962f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"031c2180adf020dd5f5edf6b477a0f00513e3a92af98a90228e98641542aebf9"},"ros-noetic-moveit-ros-perception-1.1.11-py39hca470c7_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["glew >=2.1.0,<2.2.0a0","libcxx >=14.0.6","llvm-openmp >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cv-bridge","ros-noetic-image-transport","ros-noetic-message-filters","ros-noetic-moveit-core","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-occupancy-map-monitor","ros-noetic-moveit-ros-planning","ros-noetic-nodelet","ros-noetic-object-recognition-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-urdf","xorg-libx11","xorg-libxext"],"build":"py39hca470c7_5","timestamp":1674464110680,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"4a5cb0bfb0d2cc35e5b6cf41395a97c8","name":"ros-noetic-moveit-ros-perception","requires":[],"size":203991,"version":"1.1.11","binstar":{"package_id":"63ce2f1c912363225bf5fbe6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4f16d24f14f21b7444a5e493ec2d9f6350c032fa33984d659bb9c23ea2d804ad"},"ros-noetic-move-base-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-base-local-planner","ros-noetic-clear-costmap-recovery","ros-noetic-costmap-2d","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-move-base-msgs","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-navfn","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-rotate-recovery","ros-noetic-std-srvs","ros-noetic-tf2-ros","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674456833379,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fca961ddba10c489059a1460db51c7b5","name":"ros-noetic-move-base","requires":[],"size":277794,"version":"1.17.3","binstar":{"package_id":"63ce2f222b70bce8309b1ecb","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"642325aaa3ed192bf3234b1b2fb4a65cc47ae876b977369cf456dd2ebd2e8cc7"},"ros-noetic-moveit-ros-warehouse-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-ros-planning","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-tf2-eigen","ros-noetic-tf2-ros","ros-noetic-warehouse-ros"],"build":"py39h46ec4ef_5","timestamp":1674463301518,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a4783d20f49f1321d1d7092a3751f324","name":"ros-noetic-moveit-ros-warehouse","requires":[],"size":443195,"version":"1.1.11","binstar":{"package_id":"63ce2f275a31eb90f6111bd8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"caf1a5bc11f3cea28219e3606da83708f8668fbc34557fc5b105d73ec89a67d0"},"ros-noetic-turtlebot3-navigation-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-amcl","ros-noetic-map-server","ros-noetic-move-base","ros-noetic-turtlebot3-bringup"],"build":"py39h46ec4ef_5","timestamp":1674459657053,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ea3dbb1bf55208994ff2ccfd619587a0","name":"ros-noetic-turtlebot3-navigation","requires":[],"size":18919,"version":"1.2.5","binstar":{"package_id":"63ce3c010273ee116a00cb87","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3eda83d260107bfa33559aac1aeb1eb428a05bca1b8082be20a2a9c4b272fb52"},"ros-noetic-moveit-ros-move-group-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-moveit-core","ros-noetic-moveit-kinematics","ros-noetic-moveit-ros-planning","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-std-srvs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674467258400,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d47ed46d58c1136555af99b7358732ee","name":"ros-noetic-moveit-ros-move-group","requires":[],"size":382259,"version":"1.1.11","binstar":{"package_id":"63ce3cc02ff78d332ee8d57b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"272762487542854df6f6b7ffccb443fe1375bb6bb889214beb30207ed82032db"},"ros-noetic-moveit-planners-ompl-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-moveit-core","ros-noetic-moveit-ros-planning","ros-noetic-ompl","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-tf2"],"build":"py39h46ec4ef_5","timestamp":1674467775987,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"cafd02d2b23e6e2009f1b99d2d4792d9","name":"ros-noetic-moveit-planners-ompl","requires":[],"size":450928,"version":"1.1.11","binstar":{"package_id":"63ce3cc6912363225bfac243","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f083ddfccff8a98afbc8eb07a4eb3bdc726e0b49c86bbc46911b1b3dddbf3a8b"},"ros-noetic-moveit-fake-controller-manager-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-core","ros-noetic-moveit-ros-planning","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674464455384,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39c2caa433b983a9abcb29d2bcf70798","name":"ros-noetic-moveit-fake-controller-manager","requires":[],"size":65892,"version":"1.1.11","binstar":{"package_id":"63ce3ccbdbdf7335211c754c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dd1be4977a457bd7c803ea51bbb1cf1ffbfaf91b05f60223c0e9893ec051d5ec"},"ros-noetic-moveit-resources-prbt-pg70-support-0.8.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-resources-prbt-ikfast-manipulator-plugin","ros-noetic-moveit-resources-prbt-moveit-config","ros-noetic-moveit-resources-prbt-support","ros-noetic-xacro"],"build":"py39h46ec4ef_5","timestamp":1674467876087,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"faad4bc667916d9f03f407211dce5ebc","name":"ros-noetic-moveit-resources-prbt-pg70-support","requires":[],"size":18147,"version":"0.8.2","binstar":{"package_id":"63ce3cce912363225bfae548","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e21fa78210b2b263301d7946964b8e02e45f686b67af7ca9d05f5caf37203a6"},"ros-noetic-turtlebot3-1.2.5-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-turtlebot3-bringup","ros-noetic-turtlebot3-description","ros-noetic-turtlebot3-example","ros-noetic-turtlebot3-navigation","ros-noetic-turtlebot3-slam","ros-noetic-turtlebot3-teleop"],"build":"py39h46ec4ef_5","timestamp":1674461713605,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"edd122bc94331870f98f7edabe0ca840","name":"ros-noetic-turtlebot3","requires":[],"size":9561,"version":"1.2.5","binstar":{"package_id":"63ce40bc5a31eb90f6189a76","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1e798ecded063496611ade6b4c3addf629185035ce4be054a5a2621428215055"},"ros-noetic-rosserial-client-0.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-rosbash","ros-noetic-rospy","ros-noetic-rosserial-msgs","ros-noetic-std-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1675985787282,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b3db03c30f6793ba9f733b6232a34a08","name":"ros-noetic-rosserial-client","requires":[],"size":37551,"version":"0.9.2","binstar":{"package_id":"63ce42102ff78d332eeadf06","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"55fa499446792d85414e2954bba3fec645e73b735c12207cd02e263cf8dd5e7c"},"ros-noetic-desktop-full-1.5.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-desktop","ros-noetic-perception","ros-noetic-simulators","ros-noetic-urdf-sim-tutorial"],"build":"py39h46ec4ef_5","timestamp":1674471556222,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"20f6d419e9c1ac0a2964c689315e49db","name":"ros-noetic-desktop-full","requires":[],"size":12143,"version":"1.5.0","binstar":{"package_id":"63ce4a115a31eb90f61d4ea8","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"09ef8ea41672d96b56c3df021519e962ea61b285329e57daa2b312cb0c9e80be"},"ros-noetic-mavros-msgs-1.16.0-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geographic-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-sensor-msgs","ros-noetic-std-msgs"],"build":"py39h46ec4ef_7","timestamp":1684474376668,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c913828a217ba5e6616be41740805985","name":"ros-noetic-mavros-msgs","requires":[],"size":479088,"version":"1.16.0","binstar":{"package_id":"63ce567f2ff78d332ef49b71","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2aeed181b2e82a599bb9268bbadc7fab9ade066f5ec194dd53bdea8b98f0a93f"},"ros-noetic-plotjuggler-ros-1.7.0-py39h83befe1_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-diagnostic-msgs","ros-noetic-geometry-msgs","ros-noetic-nav-msgs","ros-noetic-plotjuggler","ros-noetic-plotjuggler-msgs","ros-noetic-rosbag-storage","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-sensor-msgs","ros-noetic-tf","ros-noetic-tf2-msgs","ros-noetic-tf2-ros","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py39h83befe1_6","timestamp":1681697633591,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1a2d7a6c49b7b536c301e8accd1af211","name":"ros-noetic-plotjuggler-ros","requires":[],"size":960274,"version":"1.7.0","binstar":{"package_id":"63ce569cd0e8c095e26a1f9d","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6216da558fdb8c53c9cfdb04e23f171a4e1b4d1ada50e987644c336588bc67da"},"ros-noetic-moveit-plugins-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-fake-controller-manager","ros-noetic-moveit-ros-control-interface","ros-noetic-moveit-simple-controller-manager"],"build":"py39h46ec4ef_5","timestamp":1674467356898,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"89c5eecc2b1b39f65b35bf3e7eae1ce2","name":"ros-noetic-moveit-plugins","requires":[],"size":9099,"version":"1.1.11","binstar":{"package_id":"63ce5b7bc37c80a75b67fb09","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1644063f9b8ac11ddaa0ed8b4c76f4d29d61de5ae5b269703a19dc2adfd52578"},"ros-noetic-moveit-ros-benchmarks-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-warehouse","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2-eigen"],"build":"py39h46ec4ef_5","timestamp":1674468201586,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8df89bd0479f74dd48e4f711f7427401","name":"ros-noetic-moveit-ros-benchmarks","requires":[],"size":258378,"version":"1.1.11","binstar":{"package_id":"63ce5b7d989160afcf843099","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c7a75948687e36719216006b6738d85327ce4fcd47565c11bcac3ae6d99a38fa"},"ros-noetic-moveit-ros-manipulation-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-dynamic-reconfigure","ros-noetic-moveit-core","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-move-group","ros-noetic-moveit-ros-planning","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-tf2-eigen"],"build":"py39h46ec4ef_5","timestamp":1674470016524,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c439b056d8a8c9c9e368e49ea1ed95fe","name":"ros-noetic-moveit-ros-manipulation","requires":[],"size":325946,"version":"1.1.11","binstar":{"package_id":"63ce64568ff1ad274294d319","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2dc6a03b080b6c14f49336e2ac2fb1148d49fd2eabcb508c59c428689dd1d32c"},"ros-noetic-teb-local-planner-0.9.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-base-local-planner","ros-noetic-costmap-2d","ros-noetic-costmap-converter","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-interactive-markers","ros-noetic-libg2o","ros-noetic-mbf-costmap-core","ros-noetic-mbf-msgs","ros-noetic-message-runtime","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-std-msgs","ros-noetic-tf2","ros-noetic-tf2-ros","ros-noetic-visualization-msgs"],"build":"py39h46ec4ef_5","timestamp":1674470480690,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"ce16014dfb9b886c67db15886252078e","name":"ros-noetic-teb-local-planner","requires":[],"size":799211,"version":"0.9.1","binstar":{"package_id":"63ce645c0273ee116a0da15c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"34b3b166d84b57a4e79b312a14a3acb5875d7f45cb6426188d33c33a75b08f3d"},"ros-noetic-moveit-ros-planning-interface-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-eigenpy","ros-noetic-geometry-msgs","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-manipulation","ros-noetic-moveit-ros-move-group","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-warehouse","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674471435396,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"87fcb309387670ec0255abde00ee86f7","name":"ros-noetic-moveit-ros-planning-interface","requires":[],"size":621870,"version":"1.1.11","binstar":{"package_id":"63ce672986de531a28e92324","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"6e82ee76afbb560e17e590975462125de82d1a823612b056530853acab426c44"},"ros-noetic-moveit-ros-planning-interface-1.1.12-py39hae387e0_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","python","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-eigenpy","ros-noetic-geometry-msgs","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-manipulation","ros-noetic-moveit-ros-move-group","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-warehouse","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39hae387e0_6","timestamp":1687988735645,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c0e061c4c2a013c3b98b359a15ce8081","name":"ros-noetic-moveit-ros-planning-interface","requires":[],"size":631772,"version":"1.1.12","binstar":{"package_id":"63ce672986de531a28e92324","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c0099681a8b4147bc921ddbf9b8c983e0543187a890b250e7431ed34e260f8b8"},"ros-noetic-moveit-ros-visualization-1.1.11-py39h45080bc_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","ogre >=1.10.12,<1.11.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometric-shapes","ros-noetic-interactive-markers","ros-noetic-moveit-ros-perception","ros-noetic-moveit-ros-planning-interface","ros-noetic-moveit-ros-robot-interaction","ros-noetic-moveit-ros-warehouse","ros-noetic-object-recognition-msgs","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-rviz","ros-noetic-tf2-eigen","xorg-libx11","xorg-libxext"],"build":"py39h45080bc_5","timestamp":1674473206042,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0081a163ada497731a4ff90ae42736e1","name":"ros-noetic-moveit-ros-visualization","requires":[],"size":650055,"version":"1.1.11","binstar":{"package_id":"63ce6b2d68b198bb95298494","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f2df7bef598b599c33804daf29650835d50ca7c8c3fb99be258e0606682faa5"},"ros-noetic-moveit-commander-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["assimp","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-planning-interface","ros-noetic-rospy","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_5","timestamp":1674473432422,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"b64408699b9fc1cadcbd7c305b1423be","name":"ros-noetic-moveit-commander","requires":[],"size":56288,"version":"1.1.11","binstar":{"package_id":"63ce6b35b23346582ca72eb0","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"a4063b0db2366b0e65e1b7d3ebd611bf379e9c62cbadce6e33e1eeb323a4cd23"},"ros-noetic-moveit-planners-chomp-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-chomp-motion-planner","ros-noetic-moveit-core","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1674473811388,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0f459cc24bfaeeb279ccdf57eb17e7f9","name":"ros-noetic-moveit-planners-chomp","requires":[],"size":37966,"version":"1.1.11","binstar":{"package_id":"63ce6b38dbdf7335213f6181","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bc2c93a71a865a7f28d722cf818417cc273be1b2fb53109c9c2a98722e1bef6a"},"ros-noetic-moveit-setup-assistant-1.1.11-py39h45080bc_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","ogre >=1.10.12,<1.11.0a0","ompl >=1.5.2,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.6,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-core","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-visualization","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rviz","ros-noetic-srdfdom","ros-noetic-urdf","ros-noetic-xacro","xorg-libx11","xorg-libxext","yaml-cpp >=0.7.0,<0.8.0a0"],"build":"py39h45080bc_5","timestamp":1674474827798,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2e169b3f9d163e9d0d10864ab37573e3","name":"ros-noetic-moveit-setup-assistant","requires":[],"size":999853,"version":"1.1.11","binstar":{"package_id":"63ce6ef914201bfa45b9c36f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"40ccd5e20cf453bc6b4f05eaef3e20ce912991e50acdb0f80894cf4aed3700a4"},"ros-noetic-pilz-industrial-motion-planner-testutils-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-commander","ros-noetic-moveit-core","ros-noetic-moveit-msgs"],"build":"py39h46ec4ef_5","timestamp":1674475200977,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"39c97bba9ffe1e762d022526cdee23af","name":"ros-noetic-pilz-industrial-motion-planner-testutils","requires":[],"size":141353,"version":"1.1.11","binstar":{"package_id":"63ce6f01c37c80a75b7789af","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"64a6bbac0a7cd152621c8a3fcc7fea019de84a83b7dffdc281413a0dd3e8f563"},"ros-noetic-moveit-ros-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-ros-benchmarks","ros-noetic-moveit-ros-manipulation","ros-noetic-moveit-ros-move-group","ros-noetic-moveit-ros-perception","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-planning-interface","ros-noetic-moveit-ros-robot-interaction","ros-noetic-moveit-ros-visualization","ros-noetic-moveit-ros-warehouse"],"build":"py39h46ec4ef_5","timestamp":1674475320060,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2928e3c5fcf961b97aa181717997bb40","name":"ros-noetic-moveit-ros","requires":[],"size":10598,"version":"1.1.11","binstar":{"package_id":"63ce6f048ff1ad27429d0182","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"2986155ab21c2894573161d7039fe79e33a2155c75963e32b12dc867417c203a"},"ros-noetic-moveit-planners-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-chomp-motion-planner","ros-noetic-moveit-planners-chomp","ros-noetic-moveit-planners-ompl","ros-noetic-pilz-industrial-motion-planner"],"build":"py39h46ec4ef_5","timestamp":1674476446711,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d39ef6b753734de64d173ba5235878df","name":"ros-noetic-moveit-planners","requires":[],"size":9764,"version":"1.1.11","binstar":{"package_id":"63ce72eb14201bfa45ba6e16","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ec147d494d57ed864136c2b0d97d1b93dc8949c99fca65c31e158206258fccfb"},"ros-noetic-pilz-industrial-motion-planner-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","orocos-kdl >=1.5.1,<1.6.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-joint-limits-interface","ros-noetic-moveit-core","ros-noetic-moveit-msgs","ros-noetic-moveit-ros-move-group","ros-noetic-moveit-ros-planning","ros-noetic-moveit-ros-planning-interface","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-kdl","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1674476065285,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"91284675c6c61fe24879c4a78ce28df0","name":"ros-noetic-pilz-industrial-motion-planner","requires":[],"size":535495,"version":"1.1.11","binstar":{"package_id":"63ce72eda64974fd09454e65","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"80c3b0b1d426b004a29bb77bfa005e8c26e5f9a2b5735d5849c2e861c7bc3641"},"ros-noetic-moveit-1.1.11-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-moveit-commander","ros-noetic-moveit-core","ros-noetic-moveit-planners","ros-noetic-moveit-plugins","ros-noetic-moveit-ros","ros-noetic-moveit-setup-assistant"],"build":"py39h46ec4ef_5","timestamp":1674476576363,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"fbf9963656539fa362197c59e0c2dee3","name":"ros-noetic-moveit","requires":[],"size":10921,"version":"1.1.11","binstar":{"package_id":"63ce72f6989160afcf8c91c4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f82f8f81c5bcde07c6d9dcafb521a6d94ca67460fde66d09a70f2a581f37be07"},"ros-noetic-fcl-0.6.1-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libccd-double >=2.1,<2.2.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","ros-noetic-octomap"],"build":"py39h46ec4ef_5","timestamp":1674541810398,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"82682729bc49aa40a7a3edd5878ec133","name":"ros-noetic-fcl","requires":[],"size":1277057,"version":"0.6.1","binstar":{"package_id":"63cf7908dbdf733521f63473","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"88181db756823d2149b30c4a4203078f2bf5c139a4d48420816c4d14da064cab"},"ros-noetic-fcl-0.6.1-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["eigen","libccd-double >=2.1,<2.2.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","ros-noetic-octomap"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706528376812,"md5":"19d12bc4a4b76a57e8977959ff988d73","name":"ros-noetic-fcl","requires":[],"size":1286032,"version":"0.6.1","binstar":{"package_id":"63cf7908dbdf733521f63473","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5a12d704756e85d6c7e9c00bd5cc2df6bec1c5567b5e62cedc2a82f49baf3a2e"},"ros-noetic-laser-proc-0.1.6-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nodelet","ros-noetic-pluginlib","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-sensor-msgs"],"build":"py39h46ec4ef_5","timestamp":1675986464267,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"28755323b9f1c5187910744cbecd4c19","name":"ros-noetic-laser-proc","requires":[],"size":66516,"version":"0.1.6","binstar":{"package_id":"63d30dc88ff1ad27429ecf5e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"ff12874eec147fe1ed53dde486b3734fa9076ef2035cd9bfa5919bbcc4c018d1"},"ros-noetic-sound-play-0.3.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["gst-plugins-base","gst-plugins-good","gst-plugins-ugly","gstreamer","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pygobject","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-audio-common-msgs","ros-noetic-diagnostic-msgs","ros-noetic-message-runtime","ros-noetic-resource-retriever","ros-noetic-roscpp","ros-noetic-roslib","ros-noetic-rospy"],"build":"py39h46ec4ef_5","timestamp":1675193837911,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8280b30f0e619d7b163810bdf6d084b6","name":"ros-noetic-sound-play","requires":[],"size":245016,"version":"0.3.16","binstar":{"package_id":"63d6dd63dbdf7335211b72d3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"90341981be4fe1b4b085f7fd4a1f55735631cf1ce8f3fe3d993a88126cc9ec8a"},"ros-noetic-audio-common-msgs-0.3.16-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1675193429887,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"1bf7d07c48f03ac483ba994ad7f8f03d","name":"ros-noetic-audio-common-msgs","requires":[],"size":28382,"version":"0.3.16","binstar":{"package_id":"63d6dd65c37c80a75ba07280","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c91cbaa2dd105d4588cf6a5cd7424c5946397f4e12425124c7c05238e599f838"},"ros-noetic-audio-common-msgs-0.3.17-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532182809,"md5":"3c0a3efa237e39d39ffcf0fbf247c49b","name":"ros-noetic-audio-common-msgs","requires":[],"size":31665,"version":"0.3.17","binstar":{"package_id":"63d6dd65c37c80a75ba07280","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dc493d0fdf87af462893faed1ae826acb6c879e99b1c941b2804a54eb9eed860"},"ros-noetic-pid-0.0.28-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-dynamic-reconfigure","ros-noetic-message-runtime","ros-noetic-roscpp","ros-noetic-std-msgs"],"build":"py39h46ec4ef_5","timestamp":1675193673304,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"06cac21bc821b3553ca79ef6fcb86964","name":"ros-noetic-pid","requires":[],"size":142760,"version":"0.0.28","binstar":{"package_id":"63d96b6a912363225b710bc3","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e8390ce2e7cca3d7767d84900a22c781ab418b98cd2c2cd988d3b6a076593e0e"},"ros-noetic-move-slow-and-clear-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-geometry-msgs","ros-noetic-nav-core","ros-noetic-pluginlib","ros-noetic-roscpp"],"build":"py39h46ec4ef_5","timestamp":1675986320919,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"74a4b401443327149d578884618761c0","name":"ros-noetic-move-slow-and-clear","requires":[],"size":55153,"version":"1.17.3","binstar":{"package_id":"63e5868a14201bfa45c0f340","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"598df579d14c3c60365b01b9af1fb9abd303d5ab7e0521a986c85d007fdf85a2"},"ros-noetic-global-planner-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-costmap-2d","ros-noetic-dynamic-reconfigure","ros-noetic-geometry-msgs","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-navfn","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1675986073474,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a42b3d13a760a527a19af3bb4609c603","name":"ros-noetic-global-planner","requires":[],"size":140379,"version":"1.17.3","binstar":{"package_id":"63e5868bde175ecc9ddbc3ec","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d33772e09d64aa4aaa7517255e29dcda162cb69e0c73ff3ad5248cd193463510"},"ros-noetic-carrot-planner-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-angles","ros-noetic-base-local-planner","ros-noetic-costmap-2d","ros-noetic-nav-core","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-tf2","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1675986557053,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3b1d923620d4154f6e897c4531cbf92b","name":"ros-noetic-carrot-planner","requires":[],"size":34028,"version":"1.17.3","binstar":{"package_id":"63e5868dbd2d12dccac49780","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8a2900f6ff763441a2fe5dfeebae99a798028a15988d2e18e26b9f4efac7fc0d"},"ros-noetic-fake-localization-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-nav-msgs","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1675986695465,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a4ba768d4f681ee452e303687b87e880","name":"ros-noetic-fake-localization","requires":[],"size":111321,"version":"1.17.3","binstar":{"package_id":"63e587aad831fccc8a2e3e43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"0f6b75d3a53a2d3f9edb61a0af41b598c63e849804306c125d8e1a2c9354ec69"},"ros-noetic-fake-localization-1.17.3-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-filters","ros-noetic-nav-msgs","ros-noetic-rosconsole","ros-noetic-roscpp","ros-noetic-rospy","ros-noetic-tf2-ros"],"subdir":"osx-arm64","timestamp":1692221394778,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py39h46ec4ef_7","md5":"b20e68c1c0f7d6b1615b099b0fb41431","name":"ros-noetic-fake-localization","requires":[],"size":112331,"version":"1.17.3","binstar":{"package_id":"63e587aad831fccc8a2e3e43","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"33906a2db2e285cc9b2c5e6242d95c3dce04ace5647cfcf005188cb44a48b7c0"},"ros-noetic-rgbd-launch-2.3.0-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-depth-image-proc","ros-noetic-image-proc","ros-noetic-nodelet","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1675985889592,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"102b6d3473f075b5972a234db84e2a1c","name":"ros-noetic-rgbd-launch","requires":[],"size":17076,"version":"2.3.0","binstar":{"package_id":"63e587ac0ac8211534858ecf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"066d91fd76ced11dfb72cf2b89616e9dde9da46fe79281a08535ef7e4b3e9aba"},"ros-noetic-rgbd-launch-2.4.0-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-depth-image-proc","ros-noetic-image-proc","ros-noetic-nodelet","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_6","timestamp":1682028860204,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"3dadfa447f77de2821863e6109e7a0b0","name":"ros-noetic-rgbd-launch","requires":[],"size":16956,"version":"2.4.0","binstar":{"package_id":"63e587ac0ac8211534858ecf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"803d6082e7b177999ff28e790e8d89661321f650e31dd5575fbb6ff90250af80"},"ros-noetic-dwa-local-planner-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["eigen","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-base-local-planner","ros-noetic-costmap-2d","ros-noetic-dynamic-reconfigure","ros-noetic-nav-core","ros-noetic-nav-msgs","ros-noetic-pluginlib","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h46ec4ef_5","timestamp":1675986218334,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d0ed0d2b0abd958d04f96288177ba526","name":"ros-noetic-dwa-local-planner","requires":[],"size":139127,"version":"1.17.3","binstar":{"package_id":"63e587b0d831fccc8a2e3e9a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"bc6fa581af252d78a7227d2c114c143f6b4e6817b9cadb8bdaa82850ad838de6"},"ros-noetic-navigation-1.17.3-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":false,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-amcl","ros-noetic-base-local-planner","ros-noetic-carrot-planner","ros-noetic-clear-costmap-recovery","ros-noetic-costmap-2d","ros-noetic-dwa-local-planner","ros-noetic-fake-localization","ros-noetic-global-planner","ros-noetic-map-server","ros-noetic-move-base","ros-noetic-move-base-msgs","ros-noetic-move-slow-and-clear","ros-noetic-nav-core","ros-noetic-navfn","ros-noetic-rotate-recovery","ros-noetic-voxel-grid"],"build":"py39h46ec4ef_5","timestamp":1675987393394,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"6b30ca4dd640b91c8638c66271a3c93c","name":"ros-noetic-navigation","requires":[],"size":9928,"version":"1.17.3","binstar":{"package_id":"63e589c9d831fccc8a2ebe0c","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b05fdfe85cf118fe99f998eed5193b76e3d17d63890f090d1f16f4653b218afb"},"ros-noetic-rosserial-arduino-0.9.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-rospy","ros-noetic-rosserial-client","ros-noetic-rosserial-msgs","ros-noetic-rosserial-python"],"build":"py39h46ec4ef_5","timestamp":1675987274202,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"321c01fa146f49c62bbdbd2a1d98cf21","name":"ros-noetic-rosserial-arduino","requires":[],"size":62197,"version":"0.9.2","binstar":{"package_id":"63e589cbd831fccc8a2ebe24","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"91e40adff2cf915c4f8c08895249a8a31edabbe13ae767fea6971609c7f900a5"},"ros-noetic-rosauth-1.0.1-py39h349b7d4_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-roscpp"],"build":"py39h349b7d4_5","timestamp":1676582678693,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"19b260608db492e687805656e76ba94e","name":"ros-noetic-rosauth","requires":[],"size":49105,"version":"1.0.1","binstar":{"package_id":"63ee9a01f048dbdee41065f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"08d1413f7078a91f3f5da597346c54f6b95344bd317e3330e1b1137172c522fe"},"ros-noetic-rosauth-1.0.1-py311h577d203_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h577d203_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","openssl >=3.2.0,<4.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-roscpp"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706575666286,"md5":"bb80d54182e6f8af38207be57a2fd552","name":"ros-noetic-rosauth","requires":[],"size":52071,"version":"1.0.1","binstar":{"package_id":"63ee9a01f048dbdee41065f4","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e2f120a88a326a956a6946e7b25fdfad498fcd5c395a6d5e35331d7365e06d12"},"ros-noetic-rosbag-storage-1.16.0-py39hd3ac8d3_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost-cpp","bzip2 >=1.0.8,<2.0a0","console_bridge >=1.0.2,<1.1.0a0","gpgme >=1.18.0,<1.19.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cpp-common","ros-noetic-pluginlib","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-roslz4","ros-noetic-rostime"],"build":"py39hd3ac8d3_5","timestamp":1676581171884,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a09f6249e46a5f0b7ea48939ee87dcf7","name":"ros-noetic-rosbag-storage","requires":[],"size":182964,"version":"1.16.0","binstar":{"package_id":"63ee9a03f048dbdee410665b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1734644d21d61062c431c3fbf9ec473879422c962569de9cafb1f7f3ad9f967f"},"ros-noetic-rosbag-storage-1.16.0-py311hd8e288d_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hd8e288d_8","build_number":8,"depends":["boost-cpp","bzip2 >=1.0.8,<2.0a0","console_bridge >=1.0.2,<1.1.0a0","gpgme >=1.18.0,<1.19.0a0","libcxx >=15","numpy >=1.23.5,<2.0a0","openssl >=3.2.0,<4.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-cpp-common","ros-noetic-pluginlib","ros-noetic-roscpp-serialization","ros-noetic-roscpp-traits","ros-noetic-roslz4","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706576464711,"md5":"1dba4d6195dc3dba0491c8e8310034db","name":"ros-noetic-rosbag-storage","requires":[],"size":183312,"version":"1.16.0","binstar":{"package_id":"63ee9a03f048dbdee410665b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"4cf8044f55ebeb233fb1d71330ddb7c8d9cfecc77b8e4cc3eca7c6faf8c5463f"},"ros-noetic-librealsense2-2.50.0-py39h349b7d4_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libusb >=1.0.26,<2.0a0","numpy >=1.20.3,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h349b7d4_5","timestamp":1676582449058,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"150e2311b5c3d507cbdd88cb57641d25","name":"ros-noetic-librealsense2","requires":[],"size":16892708,"version":"2.50.0","binstar":{"package_id":"63ee9d27b9c122563cec392b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"73b9eb52d8797024e86ed8b5f312af0652bd0151223f161bb57d6ab937898f9b"},"ros-noetic-librealsense2-2.50.0-py311h577d203_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311h577d203_8","build_number":8,"depends":["libcxx >=15","libusb >=1.0.26,<2.0a0","numpy >=1.23.5,<2.0a0","openssl >=3.2.0,<4.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527354292,"md5":"d704451f6179a8069d14d148cdb539a1","name":"ros-noetic-librealsense2","requires":[],"size":16952623,"version":"2.50.0","binstar":{"package_id":"63ee9d27b9c122563cec392b","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"af1e3e732d16721be6f7292c2975ca78f3aed01d34725271647d26493f8fb13c"},"ros-noetic-webkit-dependency-1.1.2-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyqtwebengine","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic"],"build":"py39h46ec4ef_5","timestamp":1676585439279,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"68f733869775d466f82a392c84b5dc02","name":"ros-noetic-webkit-dependency","requires":[],"size":11204,"version":"1.1.2","binstar":{"package_id":"63eea90735de662092efeaf7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"5e5602fdecc9958d26346fa1cb32d37b769994bb46ab0a37a749037fde1e498d"},"ros-noetic-webkit-dependency-1.1.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","pyqtwebengine","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706527599081,"md5":"6053b4225fc1d9dac6ef3a5d7b8bd6a2","name":"ros-noetic-webkit-dependency","requires":[],"size":11640,"version":"1.1.2","binstar":{"package_id":"63eea90735de662092efeaf7","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"32a3ab23926f094adf2b7ff15a6d6c54602431a3ad3233d432f9230c19556fce"},"ros-noetic-python-qt-binding-0.4.4-py39h46ec4ef_5.tar.bz2":{"build_number":5,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["adwaita-icon-theme","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyqt >=5.15.7,<5.16.0a0","pyqt-builder","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","xorg-libx11","xorg-libxext"],"build":"py39h46ec4ef_5","timestamp":1676861438147,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"53fca10437c1bcbb0c9509447ff3f202","name":"ros-noetic-python-qt-binding","requires":[],"size":29900,"version":"0.4.4","binstar":{"package_id":"63f2df0e362e449693545283","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3daf23c664c8902e11c96f2b29caa82fe7ff6072e0034d228a4b6e3ee05e614c"},"ros-noetic-python-qt-binding-0.4.4-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["adwaita-icon-theme","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","pyqt >=5.15.7,<5.16.0a0","pyqt-builder","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-catkin","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py39h46ec4ef_6","timestamp":1681946901458,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d2f937e9d4f05b53c4c85f813750de84","name":"ros-noetic-python-qt-binding","requires":[],"size":30227,"version":"0.4.4","binstar":{"package_id":"63f2df0e362e449693545283","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8a61165588918c7bf9f98bd1150edc1f3523816134e66c3c80e6ae58cb655d6f"},"ros-noetic-python-qt-binding-0.4.4-py311ha5a60af_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311ha5a60af_8","build_number":8,"depends":["adwaita-icon-theme","libcxx >=15","numpy >=1.23.5,<2.0a0","pyqt >=5.15.9,<5.16.0a0","pyqt-builder","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-catkin","xorg-libx11 >=1.8.7,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706531952626,"md5":"77fe64cffa9117240198677a00c2d800","name":"ros-noetic-python-qt-binding","requires":[],"size":34526,"version":"0.4.4","binstar":{"package_id":"63f2df0e362e449693545283","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c9c23a04b4961ea6c3e25a5f0b960a516e70730b76648c36c02355a578233993"},"ros-noetic-ros-babel-fish-0.9.3-py39h349b7d4_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib","ros-noetic-roscpp","ros-noetic-roslib"],"build":"py39h349b7d4_6","timestamp":1678494996961,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8f8af0edbd372cb96f454da8f19bf04b","name":"ros-noetic-ros-babel-fish","requires":[],"size":380145,"version":"0.9.3","binstar":{"package_id":"640bcb2a56f3d8408e3bd098","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"27605b515223faf584ac748a94a7d02077ee8ddf49750e7957a1cdf898684e1c"},"ros-noetic-ros-babel-fish-test-msgs-0.9.3-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_6","timestamp":1678494771606,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2bfda6b3c2badbcc9b3b48286da6bdc8","name":"ros-noetic-ros-babel-fish-test-msgs","requires":[],"size":61772,"version":"0.9.3","binstar":{"package_id":"640bcb2c1aad8ffa878604b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d78d5e69ca91e1a803b53aee1df2ffcb45066956c5dae2246691be07997465ce"},"ros-noetic-ros-babel-fish-test-msgs-0.9.3-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-actionlib-msgs","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533193902,"md5":"a39b2696bbec9e39b221a8b275d9a4da","name":"ros-noetic-ros-babel-fish-test-msgs","requires":[],"size":72226,"version":"0.9.3","binstar":{"package_id":"640bcb2c1aad8ffa878604b2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"53f18c5d660b95a2de34b6376a37bda2fa0ac3e0af6ed6bb67f16988f1fd525c"},"ros-noetic-foxglove-bridge-0.5.1-py39he1fc7c7_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libzlib >=1.2.13,<1.3.0a0","numpy >=1.20.3,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-nodelet","ros-noetic-ros-babel-fish","ros-noetic-roscpp","ros-noetic-rosgraph-msgs","ros-noetic-roslib","zlib"],"build":"py39he1fc7c7_6","timestamp":1678495258731,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"0b0948dcb6c9f9a121caf6a666770080","name":"ros-noetic-foxglove-bridge","requires":[],"size":749396,"version":"0.5.1","binstar":{"package_id":"640bcc155646df5d56040be2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"23ba07bc2f5f006b293cbb15462f9aba1f2465fe8ee8e215ebcc7bb668b922b2"},"ros-humble-foxglove-bridge-0.5.1-py310ha05bcd8_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","libzlib >=1.2.13,<1.3.0a0","numpy >=1.21.6,<2.0a0","openssl >=3.0.8,<4.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ament-index-cpp","ros-humble-rclcpp","ros-humble-rclcpp-components","ros-humble-ros-workspace","ros-humble-rosgraph-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","zlib"],"build":"py310ha05bcd8_3","timestamp":1678496614405,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"542850b73a7fa0a479cfa9c669977a5a","name":"ros-humble-foxglove-bridge","requires":[],"size":943514,"version":"0.5.1","binstar":{"package_id":"640bd1e40078da3fd81620c2","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"9f63929ef50d68afa48611e0ec52c5e4bc25a41ee3762899006f9bf7f911a246"},"ros-noetic-graph-msgs-0.1.0-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_6","timestamp":1680039636484,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"aadfae26f73f5e5247913ae7f3d709c7","name":"ros-noetic-graph-msgs","requires":[],"size":27668,"version":"0.1.0","binstar":{"package_id":"64235f6bd0e29243c4dfe904","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c45125138ac0851fd7d2c39d8d4b37a6aca3e3ff0890ac157ba471fafa17f1a3"},"ros-noetic-graph-msgs-0.1.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533689075,"md5":"6757d58c1622f317a7fe92821d885161","name":"ros-noetic-graph-msgs","requires":[],"size":31061,"version":"0.1.0","binstar":{"package_id":"64235f6bd0e29243c4dfe904","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"504e0f42fd2686688e017432c5dc6bbbee3627fd646153df744e01bc7c97c312"},"ros-noetic-moveit-visual-tools-3.6.0-py39h46ec4ef_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cmake-modules","ros-noetic-geometry-msgs","ros-noetic-graph-msgs","ros-noetic-moveit-core","ros-noetic-moveit-ros-planning","ros-noetic-roscpp","ros-noetic-roslint","ros-noetic-rviz-visual-tools","ros-noetic-std-msgs","ros-noetic-tf2-eigen","ros-noetic-tf2-ros","ros-noetic-trajectory-msgs","ros-noetic-visualization-msgs","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py39h46ec4ef_6","timestamp":1680040508437,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"a77881ffc3a37428f9bde7e935e9e1e0","name":"ros-noetic-moveit-visual-tools","requires":[],"size":318253,"version":"3.6.0","binstar":{"package_id":"64235f6ef4abb0819e151d80","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"96a21c0d3ba3cd5f81073f4d7e578d796d6092a9e91d76ed6e9115fa01e735d8"},"ros-noetic-rviz-visual-tools-3.9.3-py39h45080bc_6.tar.bz2":{"build_number":6,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","ogre >=1.10.12,<1.11.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","qt-main >=5.15.8,<5.16.0a0","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-eigen-stl-containers","ros-noetic-geometry-msgs","ros-noetic-graph-msgs","ros-noetic-interactive-markers","ros-noetic-roscpp","ros-noetic-roslint","ros-noetic-rviz","ros-noetic-sensor-msgs","ros-noetic-shape-msgs","ros-noetic-std-msgs","ros-noetic-tf2-eigen","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros","ros-noetic-trajectory-msgs","ros-noetic-visualization-msgs","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py39h45080bc_6","timestamp":1680040057706,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2240e3e70c8ad45284a77636bdce4d88","name":"ros-noetic-rviz-visual-tools","requires":[],"size":1555718,"version":"3.9.3","binstar":{"package_id":"64235f6ff4abb0819e151dbf","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"b7963aed2f66d1be56057ce27d6e37355654a8283d6d331a00664fa4c0fa22dd"},"ros-humble-plotjuggler-3.5.1-py310hc9839f6_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","cppzmq","libcxx >=14.0.6","libxcb >=1.13,<1.14.0a0","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-ament-index-cpp","ros-humble-rclcpp","ros-humble-ros-workspace","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0","zeromq >=4.3.4,<4.4.0a0"],"build":"py310hc9839f6_3","timestamp":1681696785502,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"f8010e4550af0ed183ed61cd9ae5f827","name":"ros-humble-plotjuggler","requires":[],"size":22577291,"version":"3.5.1","binstar":{"package_id":"642a21ef72efb6ba8923c015","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"e0a441d7dbaee40cc2a6c6b621ea5466445039c19f98a30d8581fcfd7cfc4de0"},"ros-humble-plotjuggler-msgs-0.2.3-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1681695871114,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"d1b006b020d38e9027aef65ed22541c5","name":"ros-humble-plotjuggler-msgs","requires":[],"size":93676,"version":"0.2.3","binstar":{"package_id":"642a21f3f4abb0819ee3cabc","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7f02406f8006edf2d5d38b8d3230ad57256ef2cbf0012edaa484f28f838ec147"},"ros-humble-plotjuggler-ros-1.7.3-py310h91007db_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["boost >=1.78.0,<1.78.1.0a0","libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","qt-main >=5.15.8,<5.16.0a0","ros-humble-diagnostic-msgs","ros-humble-fastcdr","ros-humble-geometry-msgs","ros-humble-nav-msgs","ros-humble-plotjuggler","ros-humble-plotjuggler-msgs","ros-humble-rclcpp","ros-humble-rcpputils","ros-humble-ros-workspace","ros-humble-rosbag2","ros-humble-rosbag2-transport","ros-humble-sensor-msgs","ros-humble-tf2-msgs","ros-humble-tf2-ros","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xorg-libx11 >=1.8.4,<2.0a0","xorg-libxext >=1.3.4,<2.0a0"],"build":"py310h91007db_3","timestamp":1681697198238,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"8260e7bcc0e786d1b07d1a4bfd4a6e93","name":"ros-humble-plotjuggler-ros","requires":[],"size":436728,"version":"1.7.3","binstar":{"package_id":"642a21f96d6885450301f10f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"c3fa06b3685160b01f2bf43df55bee48088abcca0bcaf2c494510b3ab8daabcf"},"ros-noetic-microstrain-inertial-msgs-3.0.1-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"build":"py39h46ec4ef_7","timestamp":1684474585574,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"eaaf65d83b23ee0a703fe7b588401837","name":"ros-noetic-microstrain-inertial-msgs","requires":[],"size":219471,"version":"3.0.1","binstar":{"package_id":"64670a822e917f0f9bae1faa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"8562f8e6b6a424dac04ee3f91c1c84768e0b622a03a84b0e386677cf777bafc0"},"ros-noetic-microstrain-inertial-msgs-3.2.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-geometry-msgs","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706533373965,"md5":"5eac64387fdde74c1d6be973259bb248","name":"ros-noetic-microstrain-inertial-msgs","requires":[],"size":253083,"version":"3.2.0","binstar":{"package_id":"64670a822e917f0f9bae1faa","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d46bd95245409af2498bdabc119461af28d4210a50a216f9ca976139873824d3"},"ros-noetic-microstrain-inertial-driver-3.0.1-py39h99659fe_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcurl >=7.88.1,<8.0a0","libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-cmake-modules","ros-noetic-diagnostic-aggregator","ros-noetic-diagnostic-updater","ros-noetic-geometry-msgs","ros-noetic-mavros-msgs","ros-noetic-message-runtime","ros-noetic-microstrain-inertial-msgs","ros-noetic-nav-msgs","ros-noetic-nmea-msgs","ros-noetic-roscpp","ros-noetic-sensor-msgs","ros-noetic-std-msgs","ros-noetic-std-srvs","ros-noetic-tf2","ros-noetic-tf2-geometry-msgs","ros-noetic-tf2-ros"],"build":"py39h99659fe_7","timestamp":1684474907832,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"2d26911405370d14f0cd05a3f72888c7","name":"ros-noetic-microstrain-inertial-driver","requires":[],"size":548221,"version":"3.0.1","binstar":{"package_id":"64670c2db8f416e9fb5ed89a","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"d7e70a91a752f7ea7efe8166a40c76f6ece54284cff35a55b39fbe3644b92446"},"ros-humble-actuator-msgs-0.0.1-py310h927cc32_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-ros-workspace","ros-humble-rosidl-default-runtime","ros-humble-std-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble"],"build":"py310h927cc32_3","timestamp":1684890372317,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c7c13f80cd8e82bf99fe12b2b06eeb42","name":"ros-humble-actuator-msgs","requires":[],"size":109909,"version":"0.0.1","binstar":{"package_id":"646d616bd52c6a0ecdfb698f","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"cdeccdab1c04ebeb136f732dddeab79e0ad9b81bb6e9fc1ae5fb4704d6dbdf67"},"ros-humble-nav2-mppi-controller-1.1.7-py310h256e9aa_3.tar.bz2":{"build_number":3,"has_prefix":true,"machine":"arm64","platform":"osx","depends":["benchmark","libcxx >=14.0.6","llvm-openmp >=14.0.6","numpy >=1.21.6,<2.0a0","python 3.10.* *_cpython","python_abi 3.10.* *_cp310","ros-humble-geometry-msgs","ros-humble-nav2-common","ros-humble-nav2-core","ros-humble-nav2-costmap-2d","ros-humble-nav2-msgs","ros-humble-nav2-util","ros-humble-pluginlib","ros-humble-rclcpp","ros-humble-ros-workspace","ros-humble-std-msgs","ros-humble-tf2","ros-humble-tf2-eigen","ros-humble-tf2-geometry-msgs","ros-humble-tf2-ros","ros-humble-visualization-msgs","ros2-distro-mutex 0.3.*","ros2-distro-mutex 0.3.* humble","xsimd","xtensor"],"build":"py310h256e9aa_3","timestamp":1686924834401,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"7de8b9865a26faacd5ff7488c23bd7ea","name":"ros-humble-nav2-mppi-controller","requires":[],"size":393556,"version":"1.1.7","binstar":{"package_id":"648c6e31a55ac89ef993e285","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"f9d9b753e28f18925b358a7ace0152bf857028150cf345c0ec9f259bc33404cb"},"ros-noetic-hpp-fcl-2.3.6-h0f4a31f_21.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"h0f4a31f_21","build_number":21,"depends":["hpp-fcl 2.3.6*"],"platform":"osx","timestamp":1706523543452,"md5":"79da742213f1089f5d8224a34e80c4ac","name":"ros-noetic-hpp-fcl","requires":[],"size":3904,"version":"2.3.6","binstar":{"package_id":"6498d20eb6a07a7072709965","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"dc01f4b27ba2e20755f8ad5695c6cc908ddc78914fa5c4c4fa632c1000b5ba07"},"ros-noetic-octomap-ros-0.4.1-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-octomap","ros-noetic-octomap-msgs","ros-noetic-sensor-msgs","ros-noetic-tf"],"build":"py39h46ec4ef_7","timestamp":1688952738498,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","subdir":"osx-arm64","md5":"c9854858611056889e1c3bd72f08ea9c","name":"ros-noetic-octomap-ros","requires":[],"size":20857,"version":"0.4.1","binstar":{"package_id":"64ab5faf6bd8494aaaca1eb6","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"1ea23b90b58ada49c29d05c6730b030a1bf5ed0a6c9a9320fb7600737dcbd4b5"},"ros-noetic-ackermann-msgs-1.0.2-py39h46ec4ef_7.tar.bz2":{"build_number":7,"license":"BSD-3-Clause","has_prefix":true,"machine":"arm64","platform":"osx","depends":["libcxx >=14.0.6","numpy >=1.20.3,<2.0a0","python 3.9.* *_cpython","python_abi 3.9.* *_cp39","ros-distro-mutex 0.4.*","ros-distro-mutex 0.4.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"subdir":"osx-arm64","timestamp":1692221536013,"arch":"arm64","operatingsystem":"darwin","target-triplet":"arm64-any-darwin","build":"py39h46ec4ef_7","md5":"1a44cbd2a367be45687a1fc0b0b978fe","name":"ros-noetic-ackermann-msgs","requires":[],"size":27557,"version":"1.0.2","binstar":{"package_id":"64dd3ed95a57796317e88733","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"553d7cb231cb17c9d64b46b9b9b8c16c19e2d81eca2aa98e5f235cb44302d1e9"},"ros-noetic-ackermann-msgs-1.0.2-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-message-runtime","ros-noetic-std-msgs"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706532338481,"md5":"3ccfb25f010e8b28b250bda620b3fb06","name":"ros-noetic-ackermann-msgs","requires":[],"size":29985,"version":"1.0.2","binstar":{"package_id":"64dd3ed95a57796317e88733","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"57ec71aae82ef38b465e399eb9e4cadeeab7e6a3ed9e653a5ade316be5532e0e"},"ros-noetic-pinocchio-2.6.20-h0f4a31f_21.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"h0f4a31f_21","build_number":21,"depends":["pinocchio 2.6.20*"],"platform":"osx","timestamp":1706524812850,"md5":"7a9cc87726c732cbda353647c206040f","name":"ros-noetic-pinocchio","requires":[],"size":3993,"version":"2.6.20","binstar":{"package_id":"65b70b5aee8d8b5e0ccb253e","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"7973610c3e77d7bb3d2cdee9427e0a579d689d1790c029756196c3d9faaa1965"},"ros-noetic-ros-type-introspection-2.1.0-py311hbfa132e_8.tar.bz2":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":true,"subdir":"osx-arm64","arch":"arm64","build":"py311hbfa132e_8","build_number":8,"depends":["libcxx >=15","numpy >=1.23.5,<2.0a0","python 3.11.* *_cpython","python_abi 3.11.* *_cp311","ros-distro-mutex 0.5.*","ros-distro-mutex 0.5.* noetic","ros-noetic-roscpp","ros-noetic-roscpp-serialization","ros-noetic-rostime"],"license":"BSD-3-Clause","platform":"osx","timestamp":1706534206230,"md5":"42671bc0e79222de53650c6ee83634c8","name":"ros-noetic-ros-type-introspection","requires":[],"size":152399,"version":"2.1.0","binstar":{"package_id":"65b71c2125559064479ba7af","owner_id":"635d3643e1086c90009c5005","channel":"main"},"sha256":"3c35508f001c495c7ea5901dd4df503e15efc954daed0d11a24903eabaf60894"}},"packages.conda":{},"info":{"default_numpy_version":"1.7","default_python_version":"2.7","platform":"osx","arch":"arm64","subdir":"osx-arm64"}} \ No newline at end of file