diff --git a/.github/workflows/osx_arm64.yml b/.github/workflows/osx_arm64.yml new file mode 100644 index 00000000..24a65e63 --- /dev/null +++ b/.github/workflows/osx_arm64.yml @@ -0,0 +1,972 @@ +jobs: + stage_0_job_0: + name: mutex octomap urdfdom-py + runs-on: macos-14 + strategy: + fail-fast: false + needs: [] + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros2-distro-mutex ros-humble-octomap ros-humble-urdfdom-py + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros2-distro-mutex ros-humble-octomap ros-humble-urdfdom-py + 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: ament-cmake-lint-cmake uncrustify-vendor launch rosidl-cli fastcdr + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_0_job_0 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-cmake-lint-cmake ros-jazzy-uncrustify-vendor ros-jazzy-launch + ros-jazzy-rosidl-cli ros-jazzy-fastcdr + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-cmake-lint-cmake ros-jazzy-uncrustify-vendor + ros-jazzy-launch ros-jazzy-rosidl-cli ros-jazzy-fastcdr + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_2_job_2: + name: ament-cmake-copyright ament-uncrustify launch-yaml launch-xml + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_1_job_1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-cmake-copyright ros-jazzy-ament-uncrustify ros-jazzy-launch-yaml + ros-jazzy-launch-xml + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-cmake-copyright ros-jazzy-ament-uncrustify + ros-jazzy-launch-yaml ros-jazzy-launch-xml + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_3: + name: ament-cmake-xmllint ament-cmake-uncrustify ament-cmake-pep257 ament-cmake-flake8 + ament-cmake-cpplint + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_2 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-cmake-xmllint ros-jazzy-ament-cmake-uncrustify ros-jazzy-ament-cmake-pep257 + ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-cpplint + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-cmake-xmllint ros-jazzy-ament-cmake-uncrustify + ros-jazzy-ament-cmake-pep257 ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-cpplint + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_3_job_4: + name: ament-cmake-cppcheck launch-testing eigen3-cmake-module ament-cmake-clang-format + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_2_job_2 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-cmake-cppcheck ros-jazzy-launch-testing ros-jazzy-eigen3-cmake-module + ros-jazzy-ament-cmake-clang-format + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-cmake-cppcheck ros-jazzy-launch-testing ros-jazzy-eigen3-cmake-module + ros-jazzy-ament-cmake-clang-format + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_4_job_5: + name: ament-lint-common foonathan-memory-vendor + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_3_job_3 + - stage_3_job_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-lint-common ros-jazzy-foonathan-memory-vendor + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-lint-common ros-jazzy-foonathan-memory-vendor + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_6: + name: python-cmake-module rosidl-adapter performance-test-fixture mimick-vendor + ament-cmake-ros + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_5 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-python-cmake-module ros-jazzy-rosidl-adapter ros-jazzy-performance-test-fixture + ros-jazzy-mimick-vendor ros-jazzy-ament-cmake-ros + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-python-cmake-module ros-jazzy-rosidl-adapter ros-jazzy-performance-test-fixture + ros-jazzy-mimick-vendor ros-jazzy-ament-cmake-ros + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_7: + name: rosidl-typesupport-interface fastrtps-cmake-module fastrtps rti-connext-dds-cmake-module + rmw-implementation-cmake + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_5 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-typesupport-interface ros-jazzy-fastrtps-cmake-module + ros-jazzy-fastrtps ros-jazzy-rti-connext-dds-cmake-module ros-jazzy-rmw-implementation-cmake + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-interface ros-jazzy-fastrtps-cmake-module + ros-jazzy-fastrtps ros-jazzy-rti-connext-dds-cmake-module ros-jazzy-rmw-implementation-cmake + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_5_job_8: + name: ament-index-cpp spdlog-vendor orocos-kdl-vendor keyboard-handler + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_4_job_5 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ament-index-cpp ros-jazzy-spdlog-vendor ros-jazzy-orocos-kdl-vendor + ros-jazzy-keyboard-handler + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ament-index-cpp ros-jazzy-spdlog-vendor ros-jazzy-orocos-kdl-vendor + ros-jazzy-keyboard-handler + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_9: + name: launch-testing-ament-cmake rosidl-parser tracetools libyaml-vendor console-bridge-vendor + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_6 + - stage_5_job_7 + - stage_5_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-launch-testing-ament-cmake ros-jazzy-rosidl-parser ros-jazzy-tracetools + ros-jazzy-libyaml-vendor ros-jazzy-console-bridge-vendor + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-launch-testing-ament-cmake ros-jazzy-rosidl-parser + ros-jazzy-tracetools ros-jazzy-libyaml-vendor ros-jazzy-console-bridge-vendor + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_6_job_10: + name: urdf-parser-plugin + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_5_job_6 + - stage_5_job_7 + - stage_5_job_8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-urdf-parser-plugin + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-urdf-parser-plugin + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_7_job_11: + name: rcutils rosidl-pycommon rosidl-generator-type-description urdfdom + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_6_job_9 + - stage_6_job_10 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rcutils ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-generator-type-description + ros-jazzy-urdfdom + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rcutils ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-generator-type-description + ros-jazzy-urdfdom + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_8_job_12: + name: rosidl-runtime-c rosidl-cmake rcpputils + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_7_job_11 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-runtime-c ros-jazzy-rosidl-cmake ros-jazzy-rcpputils + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-runtime-c ros-jazzy-rosidl-cmake ros-jazzy-rcpputils + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_9_job_13: + name: rosidl-runtime-cpp rosidl-generator-c rosidl-dynamic-typesupport rcl-logging-interface + class-loader + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_8_job_12 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-generator-c ros-jazzy-rosidl-dynamic-typesupport + ros-jazzy-rcl-logging-interface ros-jazzy-class-loader + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-generator-c + ros-jazzy-rosidl-dynamic-typesupport ros-jazzy-rcl-logging-interface ros-jazzy-class-loader + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_10_job_14: + name: rosidl-generator-cpp rmw rosidl-typesupport-introspection-c rosidl-dynamic-typesupport-fastrtps + rcl-logging-spdlog + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_9_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-generator-cpp ros-jazzy-rmw ros-jazzy-rosidl-typesupport-introspection-c + ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rcl-logging-spdlog + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-generator-cpp ros-jazzy-rmw ros-jazzy-rosidl-typesupport-introspection-c + ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rcl-logging-spdlog + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_10_job_15: + name: pluginlib + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_9_job_13 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-pluginlib + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-pluginlib + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_11_job_16: + name: rosidl-typesupport-fastrtps-cpp rosidl-typesupport-introspection-cpp rcl-yaml-param-parser + urdf + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_10_job_14 + - stage_10_job_15 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-typesupport-fastrtps-cpp ros-jazzy-rosidl-typesupport-introspection-cpp + ros-jazzy-rcl-yaml-param-parser ros-jazzy-urdf + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-fastrtps-cpp ros-jazzy-rosidl-typesupport-introspection-cpp + ros-jazzy-rcl-yaml-param-parser ros-jazzy-urdf + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_12_job_17: + name: rosidl-typesupport-fastrtps-c kdl-parser rosidl-typesupport-c + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_11_job_16 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-typesupport-fastrtps-c ros-jazzy-kdl-parser ros-jazzy-rosidl-typesupport-c + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-fastrtps-c ros-jazzy-kdl-parser + ros-jazzy-rosidl-typesupport-c + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_13_job_18: + name: rosidl-typesupport-cpp rosidl-generator-py rosidl-core-runtime rosidl-core-generators + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_12_job_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-typesupport-cpp ros-jazzy-rosidl-generator-py ros-jazzy-rosidl-core-runtime + ros-jazzy-rosidl-core-generators + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-typesupport-cpp ros-jazzy-rosidl-generator-py + ros-jazzy-rosidl-core-runtime ros-jazzy-rosidl-core-generators + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_14_job_19: + name: builtin-interfaces unique-identifier-msgs service-msgs + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_13_job_18 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-builtin-interfaces ros-jazzy-unique-identifier-msgs ros-jazzy-service-msgs + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-builtin-interfaces ros-jazzy-unique-identifier-msgs + ros-jazzy-service-msgs + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_15_job_20: + name: action-msgs type-description-interfaces rosidl-default-runtime rosidl-default-generators + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_14_job_19 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-action-msgs ros-jazzy-type-description-interfaces ros-jazzy-rosidl-default-runtime + ros-jazzy-rosidl-default-generators + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-action-msgs ros-jazzy-type-description-interfaces + ros-jazzy-rosidl-default-runtime ros-jazzy-rosidl-default-generators + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_16_job_21: + name: rmw-dds-common test-msgs rcl-interfaces lifecycle-msgs std-msgs + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_15_job_20 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rmw-dds-common ros-jazzy-test-msgs ros-jazzy-rcl-interfaces + ros-jazzy-lifecycle-msgs ros-jazzy-std-msgs + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rmw-dds-common ros-jazzy-test-msgs ros-jazzy-rcl-interfaces + ros-jazzy-lifecycle-msgs ros-jazzy-std-msgs + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_16_job_22: + name: statistics-msgs rosgraph-msgs std-srvs rosbag2-test-msgdefs rosbag2-interfaces + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_15_job_20 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-statistics-msgs ros-jazzy-rosgraph-msgs ros-jazzy-std-srvs + ros-jazzy-rosbag2-test-msgdefs ros-jazzy-rosbag2-interfaces + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-statistics-msgs ros-jazzy-rosgraph-msgs ros-jazzy-std-srvs + ros-jazzy-rosbag2-test-msgdefs ros-jazzy-rosbag2-interfaces + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_16_job_23: + name: ros2cli-test-interfaces + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_15_job_20 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2cli-test-interfaces + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2cli-test-interfaces + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_17_job_24: + name: rmw-fastrtps-shared-cpp rmw-connextdds-common rmw-cyclonedds-cpp composition-interfaces + geometry-msgs + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_16_job_21 + - stage_16_job_22 + - stage_16_job_23 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-connextdds-common + ros-jazzy-rmw-cyclonedds-cpp ros-jazzy-composition-interfaces ros-jazzy-geometry-msgs + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-connextdds-common + ros-jazzy-rmw-cyclonedds-cpp ros-jazzy-composition-interfaces ros-jazzy-geometry-msgs + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_17_job_25: + name: rosidl-runtime-py actionlib-msgs + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_16_job_21 + - stage_16_job_22 + - stage_16_job_23 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosidl-runtime-py ros-jazzy-actionlib-msgs + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosidl-runtime-py ros-jazzy-actionlib-msgs + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_18_job_26: + name: rmw-fastrtps-dynamic-cpp rmw-fastrtps-cpp rmw-connextdds sensor-msgs tf2 + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_17_job_24 + - stage_17_job_25 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rmw-fastrtps-dynamic-cpp ros-jazzy-rmw-fastrtps-cpp ros-jazzy-rmw-connextdds + ros-jazzy-sensor-msgs ros-jazzy-tf2 + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rmw-fastrtps-dynamic-cpp ros-jazzy-rmw-fastrtps-cpp + ros-jazzy-rmw-connextdds ros-jazzy-sensor-msgs ros-jazzy-tf2 + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_18_job_27: + name: tf2-msgs shape-msgs trajectory-msgs nav-msgs diagnostic-msgs + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_17_job_24 + - stage_17_job_25 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-tf2-msgs ros-jazzy-shape-msgs ros-jazzy-trajectory-msgs + ros-jazzy-nav-msgs ros-jazzy-diagnostic-msgs + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-tf2-msgs ros-jazzy-shape-msgs ros-jazzy-trajectory-msgs + ros-jazzy-nav-msgs ros-jazzy-diagnostic-msgs + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_19_job_28: + name: rmw-implementation visualization-msgs stereo-msgs sensor-msgs-py tf2-eigen-kdl + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_18_job_26 + - stage_18_job_27 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rmw-implementation ros-jazzy-visualization-msgs ros-jazzy-stereo-msgs + ros-jazzy-sensor-msgs-py ros-jazzy-tf2-eigen-kdl + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rmw-implementation ros-jazzy-visualization-msgs + ros-jazzy-stereo-msgs ros-jazzy-sensor-msgs-py ros-jazzy-tf2-eigen-kdl + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_20_job_29: + name: rcl common-interfaces + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_19_job_28 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rcl ros-jazzy-common-interfaces + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rcl ros-jazzy-common-interfaces + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_21_job_30: + name: rcl-lifecycle rcl-action libstatistics-collector + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_20_job_29 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rcl-lifecycle ros-jazzy-rcl-action ros-jazzy-libstatistics-collector + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rcl-lifecycle ros-jazzy-rcl-action ros-jazzy-libstatistics-collector + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_22_job_31: + name: rclpy rclcpp + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_21_job_30 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rclpy ros-jazzy-rclcpp + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rclpy ros-jazzy-rclcpp + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_23_job_32: + name: launch-ros rclcpp-lifecycle ros2cli rosbag2-test-common rclcpp-components + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_22_job_31 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-launch-ros ros-jazzy-rclcpp-lifecycle ros-jazzy-ros2cli + ros-jazzy-rosbag2-test-common ros-jazzy-rclcpp-components + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-launch-ros ros-jazzy-rclcpp-lifecycle ros-jazzy-ros2cli + ros-jazzy-rosbag2-test-common ros-jazzy-rclcpp-components + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_23_job_33: + name: rclcpp-action tf2-py + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_22_job_31 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rclcpp-action ros-jazzy-tf2-py + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rclcpp-action ros-jazzy-tf2-py + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_24_job_34: + name: launch-testing-ros message-filters rosbag2-storage tf2-ros-py ros2lifecycle-test-fixtures + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_23_job_32 + - stage_23_job_33 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-launch-testing-ros ros-jazzy-message-filters ros-jazzy-rosbag2-storage + ros-jazzy-tf2-ros-py ros-jazzy-ros2lifecycle-test-fixtures + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-launch-testing-ros ros-jazzy-message-filters ros-jazzy-rosbag2-storage + ros-jazzy-tf2-ros-py ros-jazzy-ros2lifecycle-test-fixtures + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_24_job_35: + name: ros2multicast + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_23_job_32 + - stage_23_job_33 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2multicast + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2multicast + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_25_job_36: + name: ros2topic tf2-ros rosbag2-storage-sqlite3 rosbag2-storage-mcap ros2pkg + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_24_job_34 + - stage_24_job_35 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2topic ros-jazzy-tf2-ros ros-jazzy-rosbag2-storage-sqlite3 + ros-jazzy-rosbag2-storage-mcap ros-jazzy-ros2pkg + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2topic ros-jazzy-tf2-ros ros-jazzy-rosbag2-storage-sqlite3 + ros-jazzy-rosbag2-storage-mcap ros-jazzy-ros2pkg + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_25_job_37: + name: ros2service ros2node ros2test ros2interface ros2doctor + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_24_job_34 + - stage_24_job_35 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2service ros-jazzy-ros2node ros-jazzy-ros2test ros-jazzy-ros2interface + ros-jazzy-ros2doctor + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2service ros-jazzy-ros2node ros-jazzy-ros2test + ros-jazzy-ros2interface ros-jazzy-ros2doctor + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_25_job_38: + name: ros2action tf2-tools + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_24_job_34 + - stage_24_job_35 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2action ros-jazzy-tf2-tools + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2action ros-jazzy-tf2-tools + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_26_job_39: + name: robot-state-publisher tf2-geometry-msgs rosbag2-storage-default-plugins + tf2-kdl tf2-eigen + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_25_job_36 + - stage_25_job_37 + - stage_25_job_38 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-robot-state-publisher ros-jazzy-tf2-geometry-msgs ros-jazzy-rosbag2-storage-default-plugins + ros-jazzy-tf2-kdl ros-jazzy-tf2-eigen + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-robot-state-publisher ros-jazzy-tf2-geometry-msgs + ros-jazzy-rosbag2-storage-default-plugins ros-jazzy-tf2-kdl ros-jazzy-tf2-eigen + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_26_job_40: + name: ros2run ros2param tf2-sensor-msgs ros-testing ros2launch + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_25_job_36 + - stage_25_job_37 + - stage_25_job_38 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2run ros-jazzy-ros2param ros-jazzy-tf2-sensor-msgs + ros-jazzy-ros-testing ros-jazzy-ros2launch + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2run ros-jazzy-ros2param ros-jazzy-tf2-sensor-msgs + ros-jazzy-ros-testing ros-jazzy-ros2launch + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_26_job_41: + name: ros2lifecycle tf2-bullet + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_25_job_36 + - stage_25_job_37 + - stage_25_job_38 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2lifecycle ros-jazzy-tf2-bullet + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2lifecycle ros-jazzy-tf2-bullet + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_27_job_42: + name: rosbag2-cpp sros2 ros2component geometry2 + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_26_job_39 + - stage_26_job_40 + - stage_26_job_41 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosbag2-cpp ros-jazzy-sros2 ros-jazzy-ros2component ros-jazzy-geometry2 + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosbag2-cpp ros-jazzy-sros2 ros-jazzy-ros2component + ros-jazzy-geometry2 + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_28_job_43: + name: rosbag2-compression sros2-cmake ros2cli-common-extensions + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_27_job_42 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosbag2-compression ros-jazzy-sros2-cmake ros-jazzy-ros2cli-common-extensions + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosbag2-compression ros-jazzy-sros2-cmake ros-jazzy-ros2cli-common-extensions + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_29_job_44: + name: rosbag2-compression-zstd ros-core rosbag2-transport rosbag2-py + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_28_job_43 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-rosbag2-compression-zstd ros-jazzy-ros-core ros-jazzy-rosbag2-transport + ros-jazzy-rosbag2-py + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-rosbag2-compression-zstd ros-jazzy-ros-core ros-jazzy-rosbag2-transport + ros-jazzy-rosbag2-py + run: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + .scripts/build_osx_arm64.sh + stage_30_job_45: + name: ros2bag rosbag2-tests rosbag2 ros-base + runs-on: macos-14 + strategy: + fail-fast: false + needs: + - stage_29_job_44 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Build ros-jazzy-ros2bag ros-jazzy-rosbag2-tests ros-jazzy-rosbag2 ros-jazzy-ros-base + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + CURRENT_RECIPES: ros-jazzy-ros2bag ros-jazzy-rosbag2-tests ros-jazzy-rosbag2 + ros-jazzy-ros-base + 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 00000000..48ff1d71 --- /dev/null +++ b/activate.bat @@ -0,0 +1,15 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +@if not defined CONDA_PREFIX goto:eof + +@REM Don't do anything when we are in conda build. +@if defined SYS_PREFIX exit /b 0 + +@set "QT_PLUGIN_PATH=%CONDA_PREFIX%\Library\plugins" + +@call "%CONDA_PREFIX%\Library\local_setup.bat" +@set PYTHONHOME= +@set "ROS_OS_OVERRIDE=conda:win64" +@set "ROS_ETC_DIR=%CONDA_PREFIX%\Library\etc\ros" +@set "AMENT_PREFIX_PATH=%CONDA_PREFIX%\Library" +@set "AMENT_PYTHON_EXECUTABLE=%CONDA_PREFIX%\python.exe" diff --git a/activate.ps1 b/activate.ps1 new file mode 100644 index 00000000..137e67ae --- /dev/null +++ b/activate.ps1 @@ -0,0 +1,16 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! +if ($null -eq ${env:CONDA_PREFIX}) { Exit } + +# Don't do anything when we are in conda build. +if ($null -ne ${env:SYS_PREFIX}) { Exit 0 } + +$Env:QT_PLUGIN_PATH="${env:CONDA_PREFIX}\Library\plugins" + +& "${env:CONDA_PREFIX}\Library\local_setup.ps1" + +$Env:PYTHONHOME='' +$Env:ROS_OS_OVERRIDE='conda:win64' +$Env:ROS_ETC_DIR="${env:CONDA_PREFIX}\Library\etc\ros" +$Env:AMENT_PREFIX_PATH="${env:CONDA_PREFIX}\Library" +$Env:AMENT_PYTHON_EXECUTABLE="${env:CONDA_PREFIX}\python.exe" diff --git a/activate.sh b/activate.sh new file mode 100644 index 00000000..aece9708 --- /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 00000000..34cd2340 --- /dev/null +++ b/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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 00000000..902db09b --- /dev/null +++ b/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/bld_catkin.bat b/bld_catkin.bat new file mode 100644 index 00000000..854efe1b --- /dev/null +++ b/bld_catkin.bat @@ -0,0 +1,81 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1" +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: create catkin cookie to make it is a catkin workspace + type NUL > %LIBRARY_PREFIX%\.catkin + :: keep the workspace activation scripts (e.g., local_setup.bat) + set CATKIN_BUILD_BINARY_PACKAGE_ARGS= +) + +rd /s /q build +mkdir build +pushd build + +set SKIP_TESTING=ON + +cmake ^ + -G "Ninja" ^ + --compile-no-warning-as-error ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^ + -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-eigenpy" ( + cmake --build . --config Release --target all --parallel 1 + if errorlevel 1 exit 1 +) else ( + cmake --build . --config Release --target all + if errorlevel 1 exit 1 +) + +if "%SKIP_TESTING%" == "OFF" ( + cmake --build . --config Release --target run_tests + if errorlevel 1 exit 1 +) + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + ) +) + +if "%PKG_NAME%" == "ros-jazzy-ros-workspace" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1 + ) +) diff --git a/bld_catkin_merge.bat b/bld_catkin_merge.bat new file mode 100644 index 00000000..0c8cef7c --- /dev/null +++ b/bld_catkin_merge.bat @@ -0,0 +1,34 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set CATKIN_MAKE_ISOLATED=src\ros-jazzy-catkin\bin\catkin_make_isolated +set CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH:\=/% + +%PYTHON% %CATKIN_MAKE_ISOLATED% ^ + --install-space %LIBRARY_PREFIX% ^ + --use-ninja ^ + --install ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DCATKIN_SKIP_TESTING=ON +if errorlevel 1 exit 1 + +:: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. +:: This will allow them to be run on environment activation. +for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat +) diff --git a/bld_colcon_merge.bat b/bld_colcon_merge.bat new file mode 100644 index 00000000..a003a8ee --- /dev/null +++ b/bld_colcon_merge.bat @@ -0,0 +1,38 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +colcon build ^ + --event-handlers console_cohesion+ ^ + --merge-install ^ + --install-base %LIBRARY_PREFIX% ^ + --cmake-args ^ + --compile-no-warning-as-error ^ + -G Ninja ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DBUILD_TESTING=OFF ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + -DPYTHON_EXECUTABLE=%PYTHON% +if errorlevel 1 exit 1 + +:: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. +:: This will allow them to be run on environment activation. +for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat +) diff --git a/build_ament_cmake.sh b/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/build_ament_python.sh b/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/build_catkin.sh b/build_catkin.sh new file mode 100644 index 00000000..36c4efc2 --- /dev/null +++ b/build_catkin.sh @@ -0,0 +1,123 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then + # create catkin cookie to make it is a catkin workspace + touch $PREFIX/.catkin + # keep the workspace activation scripts (e.g., local_setup.bat) + CATKIN_BUILD_BINARY_PACKAGE="OFF" +fi + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" +# Fix up SP_DIR which for some reason might contain a path to a wrong Python version +FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/") +echo "Using site-package dir ${FIXED_SP_DIR}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true + # way around bad CPU type issues + # rm $PREFIX/bin/doxygen || echo "doxygen not found" + # rm $PREFIX/bin/dia || echo "dia not found" + # rm $PREFIX/bin/dot || echo "dot not found" +fi + +# NOTE: there might be undefined references occurring +# in the Boost.system library, depending on the C++ versions +# used to compile Boost. We can avoid them by forcing the use of +# the header-only version of the library. +export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY" + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1"; + export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1"; + # I am too scared to turn this on for now ... + # export LDFLAGS="$LDFLAGS -lrt"; + # Some qt stuff uses g++ directly - fix these use cases + ln -s $GXX $BUILD_PREFIX/bin/g++ +fi + +export SKIP_TESTING=ON + +cmake ${CMAKE_ARGS} --compile-no-warning-as-error \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + -G "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-jazzy-catkin" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then + for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh" + do + mkdir -p "${PREFIX}/etc/conda/activate.d" + cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi diff --git a/buildorder.txt b/buildorder.txt new file mode 100644 index 00000000..076c8d54 --- /dev/null +++ b/buildorder.txt @@ -0,0 +1,171 @@ +ros2-distro-mutex +ros-humble-octomap +ros-humble-urdfdom-py +ros-jazzy-ament-cmake-lint-cmake +ros-jazzy-uncrustify-vendor +ros-jazzy-launch +ros-jazzy-rosidl-cli +ros-jazzy-fastcdr +ros-jazzy-ament-cmake-copyright +ros-jazzy-ament-uncrustify +ros-jazzy-launch-yaml +ros-jazzy-launch-xml +ros-jazzy-ament-cmake-xmllint +ros-jazzy-ament-cmake-uncrustify +ros-jazzy-ament-cmake-pep257 +ros-jazzy-ament-cmake-flake8 +ros-jazzy-ament-cmake-cpplint +ros-jazzy-ament-cmake-cppcheck +ros-jazzy-launch-testing +ros-jazzy-eigen3-cmake-module +ros-jazzy-ament-cmake-clang-format +ros-jazzy-ament-lint-common +ros-jazzy-foonathan-memory-vendor +ros-jazzy-python-cmake-module +ros-jazzy-rosidl-adapter +ros-jazzy-performance-test-fixture +ros-jazzy-mimick-vendor +ros-jazzy-ament-cmake-ros +ros-jazzy-rosidl-typesupport-interface +ros-jazzy-fastrtps-cmake-module +ros-jazzy-fastrtps +ros-jazzy-rti-connext-dds-cmake-module +ros-jazzy-rmw-implementation-cmake +ros-jazzy-ament-index-cpp +ros-jazzy-spdlog-vendor +ros-jazzy-orocos-kdl-vendor +ros-jazzy-keyboard-handler +ros-jazzy-launch-testing-ament-cmake +ros-jazzy-rosidl-parser +ros-jazzy-tracetools +ros-jazzy-libyaml-vendor +ros-jazzy-console-bridge-vendor +ros-jazzy-urdf-parser-plugin +ros-jazzy-rcutils +ros-jazzy-rosidl-pycommon +ros-jazzy-rosidl-generator-type-description +ros-jazzy-urdfdom +ros-jazzy-rosidl-runtime-c +ros-jazzy-rosidl-cmake +ros-jazzy-rcpputils +ros-jazzy-rosidl-runtime-cpp +ros-jazzy-rosidl-generator-c +ros-jazzy-rosidl-dynamic-typesupport +ros-jazzy-rcl-logging-interface +ros-jazzy-class-loader +ros-jazzy-rosidl-generator-cpp +ros-jazzy-rmw +ros-jazzy-rosidl-typesupport-introspection-c +ros-jazzy-rosidl-dynamic-typesupport-fastrtps +ros-jazzy-rcl-logging-spdlog +ros-jazzy-pluginlib +ros-jazzy-rosidl-typesupport-fastrtps-cpp +ros-jazzy-rosidl-typesupport-introspection-cpp +ros-jazzy-rcl-yaml-param-parser +ros-jazzy-urdf +ros-jazzy-rosidl-typesupport-fastrtps-c +ros-jazzy-kdl-parser +ros-jazzy-rosidl-typesupport-c +ros-jazzy-rosidl-typesupport-cpp +ros-jazzy-rosidl-generator-py +ros-jazzy-rosidl-core-runtime +ros-jazzy-rosidl-core-generators +ros-jazzy-builtin-interfaces +ros-jazzy-unique-identifier-msgs +ros-jazzy-service-msgs +ros-jazzy-action-msgs +ros-jazzy-type-description-interfaces +ros-jazzy-rosidl-default-runtime +ros-jazzy-rosidl-default-generators +ros-jazzy-rmw-dds-common +ros-jazzy-test-msgs +ros-jazzy-rcl-interfaces +ros-jazzy-lifecycle-msgs +ros-jazzy-std-msgs +ros-jazzy-statistics-msgs +ros-jazzy-rosgraph-msgs +ros-jazzy-std-srvs +ros-jazzy-rosbag2-test-msgdefs +ros-jazzy-rosbag2-interfaces +ros-jazzy-ros2cli-test-interfaces +ros-jazzy-rmw-fastrtps-shared-cpp +ros-jazzy-rmw-connextdds-common +ros-jazzy-rmw-cyclonedds-cpp +ros-jazzy-composition-interfaces +ros-jazzy-geometry-msgs +ros-jazzy-rosidl-runtime-py +ros-jazzy-actionlib-msgs +ros-jazzy-rmw-fastrtps-dynamic-cpp +ros-jazzy-rmw-fastrtps-cpp +ros-jazzy-rmw-connextdds +ros-jazzy-sensor-msgs +ros-jazzy-tf2 +ros-jazzy-tf2-msgs +ros-jazzy-shape-msgs +ros-jazzy-trajectory-msgs +ros-jazzy-nav-msgs +ros-jazzy-diagnostic-msgs +ros-jazzy-rmw-implementation +ros-jazzy-visualization-msgs +ros-jazzy-stereo-msgs +ros-jazzy-sensor-msgs-py +ros-jazzy-tf2-eigen-kdl +ros-jazzy-rcl +ros-jazzy-common-interfaces +ros-jazzy-rcl-lifecycle +ros-jazzy-rcl-action +ros-jazzy-libstatistics-collector +ros-jazzy-rclpy +ros-jazzy-rclcpp +ros-jazzy-launch-ros +ros-jazzy-rclcpp-lifecycle +ros-jazzy-ros2cli +ros-jazzy-rosbag2-test-common +ros-jazzy-rclcpp-components +ros-jazzy-rclcpp-action +ros-jazzy-tf2-py +ros-jazzy-launch-testing-ros +ros-jazzy-message-filters +ros-jazzy-rosbag2-storage +ros-jazzy-tf2-ros-py +ros-jazzy-ros2lifecycle-test-fixtures +ros-jazzy-ros2multicast +ros-jazzy-ros2topic +ros-jazzy-tf2-ros +ros-jazzy-rosbag2-storage-sqlite3 +ros-jazzy-rosbag2-storage-mcap +ros-jazzy-ros2pkg +ros-jazzy-ros2service +ros-jazzy-ros2node +ros-jazzy-ros2test +ros-jazzy-ros2interface +ros-jazzy-ros2doctor +ros-jazzy-ros2action +ros-jazzy-tf2-tools +ros-jazzy-robot-state-publisher +ros-jazzy-tf2-geometry-msgs +ros-jazzy-rosbag2-storage-default-plugins +ros-jazzy-tf2-kdl +ros-jazzy-tf2-eigen +ros-jazzy-ros2run +ros-jazzy-ros2param +ros-jazzy-tf2-sensor-msgs +ros-jazzy-ros-testing +ros-jazzy-ros2launch +ros-jazzy-ros2lifecycle +ros-jazzy-tf2-bullet +ros-jazzy-rosbag2-cpp +ros-jazzy-sros2 +ros-jazzy-ros2component +ros-jazzy-geometry2 +ros-jazzy-rosbag2-compression +ros-jazzy-sros2-cmake +ros-jazzy-ros2cli-common-extensions +ros-jazzy-rosbag2-compression-zstd +ros-jazzy-ros-core +ros-jazzy-rosbag2-transport +ros-jazzy-rosbag2-py +ros-jazzy-ros2bag +ros-jazzy-rosbag2-tests +ros-jazzy-rosbag2 +ros-jazzy-ros-base \ No newline at end of file diff --git a/deactivate.bat b/deactivate.bat new file mode 100644 index 00000000..6de79cca --- /dev/null +++ b/deactivate.bat @@ -0,0 +1,18 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +@if not defined CONDA_PREFIX goto:eof + +@set ROS_OS_OVERRIDE= +@set ROS_DISTRO= +@set ROS_ETC_DIR= +@set ROS_PACKAGE_PATH= +@set ROS_PYTHON_VERSION= +@set ROS_VERSION= +@set PYTHONHOME= +@set PYTHONPATH= +@set CMAKE_PREFIX_PATH= +@set AMENT_PREFIX_PATH= +@set COLCON_PREFIX_PATH= +@set QT_PLUGIN_PATH= +@set ROS_LOCALHOST_ONLY= +@set ament_python_executable= diff --git a/deactivate.ps1 b/deactivate.ps1 new file mode 100644 index 00000000..9db51e1c --- /dev/null +++ b/deactivate.ps1 @@ -0,0 +1,18 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! +if ($null -eq ${env:CONDA_PREFIX}) { Exit } + +$Env:ROS_OS_OVERRIDE='' +$Env:ROS_DISTRO='' +$Env:ROS_ETC_DIR='' +$Env:ROS_PACKAGE_PATH='' +$Env:ROS_PYTHON_VERSION='' +$Env:ROS_VERSION='' +$Env:PYTHONHOME='' +$Env:PYTHONPATH='' +$Env:CMAKE_PREFIX_PATH='' +$Env:AMENT_PREFIX_PATH='' +$Env:COLCON_PREFIX_PATH='' +$Env:QT_PLUGIN_PATH='' +$Env:ROS_LOCALHOST_ONLY='' +$Env:ament_python_executable='' diff --git a/deactivate.sh b/deactivate.sh new file mode 100644 index 00000000..87d4d835 --- /dev/null +++ b/deactivate.sh @@ -0,0 +1,21 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! +if [ -z "${CONDA_PREFIX}" ]; then + exit 0 +fi + +unset ROS_DISTRO +unset ROS_ETC_DIR +unset ROS_PACKAGE_PATH +unset ROS_PYTHON_VERSION +unset CMAKE_PREFIX_PATH +unset AMENT_PREFIX_PATH +unset COLCON_PREFIX_PATH +unset ROS_VERSION +unset ROS_OS_OVERRIDE +# unset PYTHONPATH +# unset PYTHONHOME +# unset QT_PLUGIN_PATH +unset ROS_LOCALHOST_ONLY +unset ament_python_executable +unset RMW_IMPLEMENTATION diff --git a/recipes/ros-humble-octomap/recipe.yaml b/recipes/ros-humble-octomap/recipe.yaml new file mode 100644 index 00000000..66905928 --- /dev/null +++ b/recipes/ros-humble-octomap/recipe.yaml @@ -0,0 +1,21 @@ +package: + name: ros-humble-octomap + version: "1.9.8" + +build: + number: 2 + +requirements: + run: + - octomap 1.9.* + + +about: + homepage: https://github.com/conda-forge/octomap-feedstock + license: BSD-3-Clause + summary: | + An Efficient Probabilistic 3D Mapping Framework Based on Octrees + +extra: + recipe-maintainers: + - ros-forge diff --git a/recipes/ros-humble-urdfdom-py/recipe.yaml b/recipes/ros-humble-urdfdom-py/recipe.yaml new file mode 100644 index 00000000..5c88b1f8 --- /dev/null +++ b/recipes/ros-humble-urdfdom-py/recipe.yaml @@ -0,0 +1,19 @@ +package: + name: ros-humble-urdfdom-py + version: "1.2.0" + +build: + number: 2 + +requirements: + run: + - urdfdom-py 1.2.0 + +about: + homepage: https://github.com/ros/urdf_parser_py + license: BSD-3-Clause + summary: | + Standalone URDF parser for Python. +extra: + recipe-maintainers: + - ros-forge diff --git a/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-action-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-action-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-action-msgs/recipe.yaml b/recipes/ros-jazzy-action-msgs/recipe.yaml new file mode 100644 index 00000000..524ea6f1 --- /dev/null +++ b/recipes/ros-jazzy-action-msgs/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-action-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/action_msgs/2.0.2-2 + target_directory: ros-jazzy-action-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros-jazzy-service-msgs + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-actionlib-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-actionlib-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-actionlib-msgs/recipe.yaml b/recipes/ros-jazzy-actionlib-msgs/recipe.yaml new file mode 100644 index 00000000..a6ad23de --- /dev/null +++ b/recipes/ros-jazzy-actionlib-msgs/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-actionlib-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/actionlib_msgs/5.3.5-1 + target_directory: ros-jazzy-actionlib-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-clang-format/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-clang-format/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml b/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml new file mode 100644 index 00000000..c66064e9 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-clang-format/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-clang-format + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_clang_format/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-clang-format/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-clang-format + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-clang-format + - ros-jazzy-ament-cmake-test + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-copyright/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-copyright/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml b/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml new file mode 100644 index 00000000..649088cc --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-copyright/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-copyright + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_copyright/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-copyright/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-copyright + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-copyright + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cppcheck/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cppcheck/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml b/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml new file mode 100644 index 00000000..ce8070ca --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cppcheck/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-cppcheck + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_cppcheck/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-cppcheck/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cppcheck + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cppcheck + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cpplint/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cpplint/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml b/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml new file mode 100644 index 00000000..b0b5f6e2 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-cpplint/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-cpplint + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_cpplint/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-cpplint/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cpplint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cpplint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-flake8/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-flake8/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml b/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml new file mode 100644 index 00000000..fd137674 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-flake8/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-flake8 + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_flake8/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-flake8/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-flake8 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-flake8 + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml b/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml new file mode 100644 index 00000000..a3ba5a43 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-lint-cmake/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-lint-cmake + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_lint_cmake/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-lint-cmake/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-lint-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-lint-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-pep257/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-pep257/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml b/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml new file mode 100644 index 00000000..2749dce2 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-pep257/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-pep257 + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_pep257/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-pep257/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-ros/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-ros/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml b/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml new file mode 100644 index 00000000..555e1b5b --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-ros/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-ros + version: 0.12.0 +source: + git: https://github.com/ros2-gbp/ament_cmake_ros-release.git + rev: release/jazzy/ament_cmake_ros/0.12.0-3 + target_directory: ros-jazzy-ament-cmake-ros/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-domain-coordinator + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-domain-coordinator + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-uncrustify/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-uncrustify/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml b/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml new file mode 100644 index 00000000..d0b1fe95 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-uncrustify/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-uncrustify + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_uncrustify/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-uncrustify/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-uncrustify + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-uncrustify + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-xmllint/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh b/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-xmllint/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml b/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml new file mode 100644 index 00000000..2701bde7 --- /dev/null +++ b/recipes/ros-jazzy-ament-cmake-xmllint/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-cmake-xmllint + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_cmake_xmllint/0.17.1-1 + target_directory: ros-jazzy-ament-cmake-xmllint/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-index-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-index-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-index-cpp/recipe.yaml b/recipes/ros-jazzy-ament-index-cpp/recipe.yaml new file mode 100644 index 00000000..5238349a --- /dev/null +++ b/recipes/ros-jazzy-ament-index-cpp/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-index-cpp + version: 1.8.1 +source: + git: https://github.com/ros2-gbp/ament_index-release.git + rev: release/jazzy/ament_index_cpp/1.8.1-1 + target_directory: ros-jazzy-ament-index-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat b/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ament-lint-common/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh b/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ament-lint-common/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ament-lint-common/recipe.yaml b/recipes/ros-jazzy-ament-lint-common/recipe.yaml new file mode 100644 index 00000000..aadf5bb8 --- /dev/null +++ b/recipes/ros-jazzy-ament-lint-common/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-lint-common + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_lint_common/0.17.1-1 + target_directory: ros-jazzy-ament-lint-common/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-dependencies + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-flake8 + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-pep257 + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-cmake-xmllint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat b/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ament-uncrustify/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh b/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ament-uncrustify/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ament-uncrustify/recipe.yaml b/recipes/ros-jazzy-ament-uncrustify/recipe.yaml new file mode 100644 index 00000000..92e4866f --- /dev/null +++ b/recipes/ros-jazzy-ament-uncrustify/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ament-uncrustify + version: 0.17.1 +source: + git: https://github.com/ros2-gbp/ament_lint-release.git + rev: release/jazzy/ament_uncrustify/0.17.1-1 + target_directory: ros-jazzy-ament-uncrustify/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-pycodestyle + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-uncrustify-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-builtin-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-builtin-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-builtin-interfaces/recipe.yaml b/recipes/ros-jazzy-builtin-interfaces/recipe.yaml new file mode 100644 index 00000000..e3c6fa0d --- /dev/null +++ b/recipes/ros-jazzy-builtin-interfaces/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-builtin-interfaces + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/builtin_interfaces/2.0.2-2 + target_directory: ros-jazzy-builtin-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat b/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-class-loader/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-class-loader/build_ament_cmake.sh b/recipes/ros-jazzy-class-loader/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-class-loader/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-class-loader/recipe.yaml b/recipes/ros-jazzy-class-loader/recipe.yaml new file mode 100644 index 00000000..e7f9a220 --- /dev/null +++ b/recipes/ros-jazzy-class-loader/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-class-loader + version: 2.7.0 +source: + git: https://github.com/ros2-gbp/class_loader-release.git + rev: release/jazzy/class_loader/2.7.0-3 + target_directory: ros-jazzy-class-loader/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - console_bridge + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-console-bridge-vendor + - ros-jazzy-rcpputils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - console_bridge + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-common-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-common-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-common-interfaces/recipe.yaml b/recipes/ros-jazzy-common-interfaces/recipe.yaml new file mode 100644 index 00000000..9e1f2a93 --- /dev/null +++ b/recipes/ros-jazzy-common-interfaces/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-common-interfaces + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/common_interfaces/5.3.5-1 + target_directory: ros-jazzy-common-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-actionlib-msgs + - ros-jazzy-builtin-interfaces + - ros-jazzy-diagnostic-msgs + - ros-jazzy-geometry-msgs + - ros-jazzy-nav-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-std-msgs + - ros-jazzy-std-srvs + - ros-jazzy-stereo-msgs + - ros-jazzy-trajectory-msgs + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-composition-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-composition-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-composition-interfaces/recipe.yaml b/recipes/ros-jazzy-composition-interfaces/recipe.yaml new file mode 100644 index 00000000..9bea214b --- /dev/null +++ b/recipes/ros-jazzy-composition-interfaces/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-composition-interfaces + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/composition_interfaces/2.0.2-2 + target_directory: ros-jazzy-composition-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-rcl-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcl-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-console-bridge-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-console-bridge-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml b/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml new file mode 100644 index 00000000..6c9f955e --- /dev/null +++ b/recipes/ros-jazzy-console-bridge-vendor/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-console-bridge-vendor + version: 1.7.1 +source: + git: https://github.com/ros2-gbp/console_bridge_vendor-release.git + rev: release/jazzy/console_bridge_vendor/1.7.1-3 + target_directory: ros-jazzy-console-bridge-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - console_bridge + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - console_bridge + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-diagnostic-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-diagnostic-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml b/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml new file mode 100644 index 00000000..3b29db68 --- /dev/null +++ b/recipes/ros-jazzy-diagnostic-msgs/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-diagnostic-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/diagnostic_msgs/5.3.5-1 + target_directory: ros-jazzy-diagnostic-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-eigen3-cmake-module/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-eigen3-cmake-module/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml b/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml new file mode 100644 index 00000000..a4ba70e4 --- /dev/null +++ b/recipes/ros-jazzy-eigen3-cmake-module/recipe.yaml @@ -0,0 +1,85 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-eigen3-cmake-module + version: 0.3.0 +source: + git: https://github.com/ros2-gbp/eigen3_cmake_module-release.git + rev: release/jazzy/eigen3_cmake_module/0.3.0-3 + target_directory: ros-jazzy-eigen3-cmake-module/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-fastcdr/bld_catkin.bat b/recipes/ros-jazzy-fastcdr/bld_catkin.bat new file mode 100644 index 00000000..854efe1b --- /dev/null +++ b/recipes/ros-jazzy-fastcdr/bld_catkin.bat @@ -0,0 +1,81 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1" +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: create catkin cookie to make it is a catkin workspace + type NUL > %LIBRARY_PREFIX%\.catkin + :: keep the workspace activation scripts (e.g., local_setup.bat) + set CATKIN_BUILD_BINARY_PACKAGE_ARGS= +) + +rd /s /q build +mkdir build +pushd build + +set SKIP_TESTING=ON + +cmake ^ + -G "Ninja" ^ + --compile-no-warning-as-error ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^ + -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-eigenpy" ( + cmake --build . --config Release --target all --parallel 1 + if errorlevel 1 exit 1 +) else ( + cmake --build . --config Release --target all + if errorlevel 1 exit 1 +) + +if "%SKIP_TESTING%" == "OFF" ( + cmake --build . --config Release --target run_tests + if errorlevel 1 exit 1 +) + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + ) +) + +if "%PKG_NAME%" == "ros-jazzy-ros-workspace" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1 + ) +) diff --git a/recipes/ros-jazzy-fastcdr/build_catkin.sh b/recipes/ros-jazzy-fastcdr/build_catkin.sh new file mode 100644 index 00000000..36c4efc2 --- /dev/null +++ b/recipes/ros-jazzy-fastcdr/build_catkin.sh @@ -0,0 +1,123 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then + # create catkin cookie to make it is a catkin workspace + touch $PREFIX/.catkin + # keep the workspace activation scripts (e.g., local_setup.bat) + CATKIN_BUILD_BINARY_PACKAGE="OFF" +fi + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" +# Fix up SP_DIR which for some reason might contain a path to a wrong Python version +FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/") +echo "Using site-package dir ${FIXED_SP_DIR}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true + # way around bad CPU type issues + # rm $PREFIX/bin/doxygen || echo "doxygen not found" + # rm $PREFIX/bin/dia || echo "dia not found" + # rm $PREFIX/bin/dot || echo "dot not found" +fi + +# NOTE: there might be undefined references occurring +# in the Boost.system library, depending on the C++ versions +# used to compile Boost. We can avoid them by forcing the use of +# the header-only version of the library. +export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY" + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1"; + export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1"; + # I am too scared to turn this on for now ... + # export LDFLAGS="$LDFLAGS -lrt"; + # Some qt stuff uses g++ directly - fix these use cases + ln -s $GXX $BUILD_PREFIX/bin/g++ +fi + +export SKIP_TESTING=ON + +cmake ${CMAKE_ARGS} --compile-no-warning-as-error \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + -G "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-jazzy-catkin" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then + for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh" + do + mkdir -p "${PREFIX}/etc/conda/activate.d" + cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi diff --git a/recipes/ros-jazzy-fastcdr/recipe.yaml b/recipes/ros-jazzy-fastcdr/recipe.yaml new file mode 100644 index 00000000..83ee20ac --- /dev/null +++ b/recipes/ros-jazzy-fastcdr/recipe.yaml @@ -0,0 +1,84 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-fastcdr + version: 2.2.2 +source: + git: https://github.com/ros2-gbp/fastcdr-release.git + rev: release/jazzy/fastcdr/2.2.2-1 + target_directory: ros-jazzy-fastcdr/src/work + +build: + script: ${{ 'build_catkin.sh' if unix else 'bld_catkin.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-fastrtps-cmake-module/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-fastrtps-cmake-module/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml b/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml new file mode 100644 index 00000000..a33830b1 --- /dev/null +++ b/recipes/ros-jazzy-fastrtps-cmake-module/recipe.yaml @@ -0,0 +1,85 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-fastrtps-cmake-module + version: 3.6.0 +source: + git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git + rev: release/jazzy/fastrtps_cmake_module/3.6.0-2 + target_directory: ros-jazzy-fastrtps-cmake-module/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-fastrtps/bld_catkin.bat b/recipes/ros-jazzy-fastrtps/bld_catkin.bat new file mode 100644 index 00000000..854efe1b --- /dev/null +++ b/recipes/ros-jazzy-fastrtps/bld_catkin.bat @@ -0,0 +1,81 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1" +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: create catkin cookie to make it is a catkin workspace + type NUL > %LIBRARY_PREFIX%\.catkin + :: keep the workspace activation scripts (e.g., local_setup.bat) + set CATKIN_BUILD_BINARY_PACKAGE_ARGS= +) + +rd /s /q build +mkdir build +pushd build + +set SKIP_TESTING=ON + +cmake ^ + -G "Ninja" ^ + --compile-no-warning-as-error ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^ + -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-eigenpy" ( + cmake --build . --config Release --target all --parallel 1 + if errorlevel 1 exit 1 +) else ( + cmake --build . --config Release --target all + if errorlevel 1 exit 1 +) + +if "%SKIP_TESTING%" == "OFF" ( + cmake --build . --config Release --target run_tests + if errorlevel 1 exit 1 +) + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + ) +) + +if "%PKG_NAME%" == "ros-jazzy-ros-workspace" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1 + ) +) diff --git a/recipes/ros-jazzy-fastrtps/build_catkin.sh b/recipes/ros-jazzy-fastrtps/build_catkin.sh new file mode 100644 index 00000000..36c4efc2 --- /dev/null +++ b/recipes/ros-jazzy-fastrtps/build_catkin.sh @@ -0,0 +1,123 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then + # create catkin cookie to make it is a catkin workspace + touch $PREFIX/.catkin + # keep the workspace activation scripts (e.g., local_setup.bat) + CATKIN_BUILD_BINARY_PACKAGE="OFF" +fi + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" +# Fix up SP_DIR which for some reason might contain a path to a wrong Python version +FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/") +echo "Using site-package dir ${FIXED_SP_DIR}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true + # way around bad CPU type issues + # rm $PREFIX/bin/doxygen || echo "doxygen not found" + # rm $PREFIX/bin/dia || echo "dia not found" + # rm $PREFIX/bin/dot || echo "dot not found" +fi + +# NOTE: there might be undefined references occurring +# in the Boost.system library, depending on the C++ versions +# used to compile Boost. We can avoid them by forcing the use of +# the header-only version of the library. +export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY" + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1"; + export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1"; + # I am too scared to turn this on for now ... + # export LDFLAGS="$LDFLAGS -lrt"; + # Some qt stuff uses g++ directly - fix these use cases + ln -s $GXX $BUILD_PREFIX/bin/g++ +fi + +export SKIP_TESTING=ON + +cmake ${CMAKE_ARGS} --compile-no-warning-as-error \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + -G "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-jazzy-catkin" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then + for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh" + do + mkdir -p "${PREFIX}/etc/conda/activate.d" + cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi diff --git a/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch b/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch new file mode 100644 index 00000000..329888be --- /dev/null +++ b/recipes/ros-jazzy-fastrtps/patch/ros-jazzy-fastrtps.patch @@ -0,0 +1,30 @@ +From 72ccfb186d93c3f7ba59c30fa2b05bddd31a3432 Mon Sep 17 00:00:00 2001 +From: Wade Hunkapiller +Date: Fri, 15 Mar 2024 11:11:09 -0500 +Subject: [PATCH] Add gettid() macro to address GLIBC version comptability + (#4225) + +Signed-off-by: Wade Hunkapiller +--- + src/cpp/utils/threading/threading_pthread.ipp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/cpp/utils/threading/threading_pthread.ipp b/src/cpp/utils/threading/threading_pthread.ipp +index 75ad33f2d64..252f60c775a 100644 +--- a/src/cpp/utils/threading/threading_pthread.ipp ++++ b/src/cpp/utils/threading/threading_pthread.ipp +@@ -25,6 +25,14 @@ + #include + #include + ++#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ <= 30))) ++ #include ++ #ifndef SYS_gettid ++ #error "SYS_gettid unavailable on this system" ++ #endif ++ #define gettid() ((pid_t)syscall(SYS_gettid)) ++#endif ++ + namespace eprosima { + + template \ No newline at end of file diff --git a/recipes/ros-jazzy-fastrtps/recipe.yaml b/recipes/ros-jazzy-fastrtps/recipe.yaml new file mode 100644 index 00000000..1953a68a --- /dev/null +++ b/recipes/ros-jazzy-fastrtps/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-fastrtps + version: 2.14.1 +source: + git: https://github.com/ros2-gbp/fastrtps-release.git + rev: release/jazzy/fastrtps/2.14.1-1 + target_directory: ros-jazzy-fastrtps/src/work + patches: + - patch/ros-jazzy-fastrtps.patch + +build: + script: ${{ 'build_catkin.sh' if unix else 'bld_catkin.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - asio + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - openssl + - pip + - python + - ros-jazzy-fastcdr + - ros-jazzy-foonathan-memory-vendor + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - tinyxml2 + run: + - openssl + - python + - ros-jazzy-fastcdr + - ros-jazzy-foonathan-memory-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - tinyxml2 + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat b/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat new file mode 100644 index 00000000..854efe1b --- /dev/null +++ b/recipes/ros-jazzy-foonathan-memory-vendor/bld_catkin.bat @@ -0,0 +1,81 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1" +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: create catkin cookie to make it is a catkin workspace + type NUL > %LIBRARY_PREFIX%\.catkin + :: keep the workspace activation scripts (e.g., local_setup.bat) + set CATKIN_BUILD_BINARY_PACKAGE_ARGS= +) + +rd /s /q build +mkdir build +pushd build + +set SKIP_TESTING=ON + +cmake ^ + -G "Ninja" ^ + --compile-no-warning-as-error ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^ + -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-eigenpy" ( + cmake --build . --config Release --target all --parallel 1 + if errorlevel 1 exit 1 +) else ( + cmake --build . --config Release --target all + if errorlevel 1 exit 1 +) + +if "%SKIP_TESTING%" == "OFF" ( + cmake --build . --config Release --target run_tests + if errorlevel 1 exit 1 +) + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + ) +) + +if "%PKG_NAME%" == "ros-jazzy-ros-workspace" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1 + ) +) diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh b/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh new file mode 100644 index 00000000..36c4efc2 --- /dev/null +++ b/recipes/ros-jazzy-foonathan-memory-vendor/build_catkin.sh @@ -0,0 +1,123 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then + # create catkin cookie to make it is a catkin workspace + touch $PREFIX/.catkin + # keep the workspace activation scripts (e.g., local_setup.bat) + CATKIN_BUILD_BINARY_PACKAGE="OFF" +fi + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" +# Fix up SP_DIR which for some reason might contain a path to a wrong Python version +FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/") +echo "Using site-package dir ${FIXED_SP_DIR}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true + # way around bad CPU type issues + # rm $PREFIX/bin/doxygen || echo "doxygen not found" + # rm $PREFIX/bin/dia || echo "dia not found" + # rm $PREFIX/bin/dot || echo "dot not found" +fi + +# NOTE: there might be undefined references occurring +# in the Boost.system library, depending on the C++ versions +# used to compile Boost. We can avoid them by forcing the use of +# the header-only version of the library. +export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY" + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1"; + export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1"; + # I am too scared to turn this on for now ... + # export LDFLAGS="$LDFLAGS -lrt"; + # Some qt stuff uses g++ directly - fix these use cases + ln -s $GXX $BUILD_PREFIX/bin/g++ +fi + +export SKIP_TESTING=ON + +cmake ${CMAKE_ARGS} --compile-no-warning-as-error \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + -G "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-jazzy-catkin" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then + for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh" + do + mkdir -p "${PREFIX}/etc/conda/activate.d" + cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi diff --git a/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml b/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml new file mode 100644 index 00000000..58167353 --- /dev/null +++ b/recipes/ros-jazzy-foonathan-memory-vendor/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-foonathan-memory-vendor + version: 1.3.1 +source: + git: https://github.com/ros2-gbp/foonathan_memory_vendor-release.git + rev: release/jazzy/foonathan_memory_vendor/1.3.1-3 + target_directory: ros-jazzy-foonathan-memory-vendor/src/work + +build: + script: ${{ 'build_catkin.sh' if unix else 'bld_catkin.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - git + host: + - if: build_platform == target_platform + then: + - pkg-config + - foonathan-memory + - numpy + - pip + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cmake-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - cmake + - foonathan-memory + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-geometry-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-geometry-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-geometry-msgs/recipe.yaml b/recipes/ros-jazzy-geometry-msgs/recipe.yaml new file mode 100644 index 00000000..c1d045c6 --- /dev/null +++ b/recipes/ros-jazzy-geometry-msgs/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-geometry-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/geometry_msgs/5.3.5-1 + target_directory: ros-jazzy-geometry-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat b/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-geometry2/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-geometry2/build_ament_cmake.sh b/recipes/ros-jazzy-geometry2/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-geometry2/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-geometry2/recipe.yaml b/recipes/ros-jazzy-geometry2/recipe.yaml new file mode 100644 index 00000000..13a7756e --- /dev/null +++ b/recipes/ros-jazzy-geometry2/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-geometry2 + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/geometry2/0.36.4-1 + target_directory: ros-jazzy-geometry2/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-bullet + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-eigen-kdl + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-kdl + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-sensor-msgs + - ros-jazzy-tf2-tools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-kdl-parser/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh b/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-kdl-parser/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-kdl-parser/recipe.yaml b/recipes/ros-jazzy-kdl-parser/recipe.yaml new file mode 100644 index 00000000..7544f3a1 --- /dev/null +++ b/recipes/ros-jazzy-kdl-parser/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-kdl-parser + version: 2.11.0 +source: + git: https://github.com/ros2-gbp/kdl_parser-release.git + rev: release/jazzy/kdl_parser/2.11.0-3 + target_directory: ros-jazzy-kdl-parser/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-urdf + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-urdf + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat b/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-keyboard-handler/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh b/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-keyboard-handler/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-keyboard-handler/recipe.yaml b/recipes/ros-jazzy-keyboard-handler/recipe.yaml new file mode 100644 index 00000000..b8212ab3 --- /dev/null +++ b/recipes/ros-jazzy-keyboard-handler/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-keyboard-handler + version: 0.3.1 +source: + git: https://github.com/ros2-gbp/keyboard_handler-release.git + rev: release/jazzy/keyboard_handler/0.3.1-2 + target_directory: ros-jazzy-keyboard-handler/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-ros/bld_ament_python.bat b/recipes/ros-jazzy-launch-ros/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch-ros/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch-ros/build_ament_python.sh b/recipes/ros-jazzy-launch-ros/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch-ros/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch-ros/recipe.yaml b/recipes/ros-jazzy-launch-ros/recipe.yaml new file mode 100644 index 00000000..3a552b27 --- /dev/null +++ b/recipes/ros-jazzy-launch-ros/recipe.yaml @@ -0,0 +1,103 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-ros + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/launch_ros-release.git + rev: release/jazzy/launch_ros/0.26.5-2 + target_directory: ros-jazzy-launch-ros/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - importlib-metadata + - numpy + - pip + - pytest + - python + - pyyaml + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-index-python + - ros-jazzy-ament-pep257 + - ros-jazzy-composition-interfaces + - ros-jazzy-launch + - ros-jazzy-lifecycle-msgs + - ros-jazzy-osrf-pycommon + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - importlib-metadata + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-composition-interfaces + - ros-jazzy-launch + - ros-jazzy-lifecycle-msgs + - ros-jazzy-osrf-pycommon + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ament-cmake/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ament-cmake/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml b/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml new file mode 100644 index 00000000..365a2c6c --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ament-cmake/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-testing-ament-cmake + version: 3.4.2 +source: + git: https://github.com/ros2-gbp/launch-release.git + rev: release/jazzy/launch_testing_ament_cmake/3.4.2-2 + target_directory: ros-jazzy-launch-testing-ament-cmake/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-test + - ros-jazzy-launch-testing + - ros-jazzy-python-cmake-module + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-launch-testing + - ros-jazzy-python-cmake-module + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat b/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ros/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh b/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ros/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch-testing-ros/recipe.yaml b/recipes/ros-jazzy-launch-testing-ros/recipe.yaml new file mode 100644 index 00000000..73bacb38 --- /dev/null +++ b/recipes/ros-jazzy-launch-testing-ros/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-testing-ros + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/launch_ros-release.git + rev: release/jazzy/launch_testing_ros/0.26.5-2 + target_directory: ros-jazzy-launch-testing-ros/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-testing/bld_ament_python.bat b/recipes/ros-jazzy-launch-testing/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch-testing/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch-testing/build_ament_python.sh b/recipes/ros-jazzy-launch-testing/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch-testing/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch-testing/recipe.yaml b/recipes/ros-jazzy-launch-testing/recipe.yaml new file mode 100644 index 00000000..8ab4bcc0 --- /dev/null +++ b/recipes/ros-jazzy-launch-testing/recipe.yaml @@ -0,0 +1,95 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-testing + version: 3.4.2 +source: + git: https://github.com/ros2-gbp/launch-release.git + rev: release/jazzy/launch_testing/3.4.2-2 + target_directory: ros-jazzy-launch-testing/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-launch + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - pytest + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-osrf-pycommon + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-xml/bld_ament_python.bat b/recipes/ros-jazzy-launch-xml/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch-xml/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch-xml/build_ament_python.sh b/recipes/ros-jazzy-launch-xml/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch-xml/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch-xml/recipe.yaml b/recipes/ros-jazzy-launch-xml/recipe.yaml new file mode 100644 index 00000000..16898957 --- /dev/null +++ b/recipes/ros-jazzy-launch-xml/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-xml + version: 3.4.2 +source: + git: https://github.com/ros2-gbp/launch-release.git + rev: release/jazzy/launch_xml/3.4.2-2 + target_directory: ros-jazzy-launch-xml/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-launch + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-launch + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat b/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch-yaml/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch-yaml/build_ament_python.sh b/recipes/ros-jazzy-launch-yaml/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch-yaml/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch-yaml/recipe.yaml b/recipes/ros-jazzy-launch-yaml/recipe.yaml new file mode 100644 index 00000000..9b8d62ea --- /dev/null +++ b/recipes/ros-jazzy-launch-yaml/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch-yaml + version: 3.4.2 +source: + git: https://github.com/ros2-gbp/launch-release.git + rev: release/jazzy/launch_yaml/3.4.2-2 + target_directory: ros-jazzy-launch-yaml/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-launch + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-launch + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-launch/bld_ament_python.bat b/recipes/ros-jazzy-launch/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-launch/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-launch/build_ament_python.sh b/recipes/ros-jazzy-launch/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-launch/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-launch/recipe.yaml b/recipes/ros-jazzy-launch/recipe.yaml new file mode 100644 index 00000000..b5f8682e --- /dev/null +++ b/recipes/ros-jazzy-launch/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-launch + version: 3.4.2 +source: + git: https://github.com/ros2-gbp/launch-release.git + rev: release/jazzy/launch/3.4.2-2 + target_directory: ros-jazzy-launch/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-mypy + - ros-jazzy-ament-pep257 + - ros-jazzy-osrf-pycommon + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - importlib-metadata + - lark-parser + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-osrf-pycommon + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat b/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-libstatistics-collector/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh b/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-libstatistics-collector/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-libstatistics-collector/recipe.yaml b/recipes/ros-jazzy-libstatistics-collector/recipe.yaml new file mode 100644 index 00000000..3bdd99dd --- /dev/null +++ b/recipes/ros-jazzy-libstatistics-collector/recipe.yaml @@ -0,0 +1,101 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-libstatistics-collector + version: 1.7.3 +source: + git: https://github.com/ros2-gbp/libstatistics_collector-release.git + rev: release/jazzy/libstatistics_collector/1.7.3-1 + target_directory: ros-jazzy-libstatistics-collector/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcl + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-statistics-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-rcl + - ros-jazzy-rcpputils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-statistics-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-libyaml-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-libyaml-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-libyaml-vendor/recipe.yaml b/recipes/ros-jazzy-libyaml-vendor/recipe.yaml new file mode 100644 index 00000000..0289af0d --- /dev/null +++ b/recipes/ros-jazzy-libyaml-vendor/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-libyaml-vendor + version: 1.6.3 +source: + git: https://github.com/ros2-gbp/libyaml_vendor-release.git + rev: release/jazzy/libyaml_vendor/1.6.3-2 + target_directory: ros-jazzy-libyaml-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pkg-config + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + run: + - pkg-config + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-lifecycle-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-lifecycle-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml b/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml new file mode 100644 index 00000000..def2982d --- /dev/null +++ b/recipes/ros-jazzy-lifecycle-msgs/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-lifecycle-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/lifecycle_msgs/2.0.2-2 + target_directory: ros-jazzy-lifecycle-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat b/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-message-filters/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-message-filters/build_ament_cmake.sh b/recipes/ros-jazzy-message-filters/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-message-filters/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-message-filters/recipe.yaml b/recipes/ros-jazzy-message-filters/recipe.yaml new file mode 100644 index 00000000..32a3c695 --- /dev/null +++ b/recipes/ros-jazzy-message-filters/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-message-filters + version: 4.11.2 +source: + git: https://github.com/ros2-gbp/ros2_message_filters-release.git + rev: release/jazzy/message_filters/4.11.2-1 + target_directory: ros-jazzy-message-filters/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-python-cmake-module + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-mimick-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-mimick-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-mimick-vendor/recipe.yaml b/recipes/ros-jazzy-mimick-vendor/recipe.yaml new file mode 100644 index 00000000..49b2d124 --- /dev/null +++ b/recipes/ros-jazzy-mimick-vendor/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-mimick-vendor + version: 0.6.2 +source: + git: https://github.com/ros2-gbp/mimick_vendor-release.git + rev: release/jazzy/mimick_vendor/0.6.2-1 + target_directory: ros-jazzy-mimick-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - vcstool + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-nav-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-nav-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-nav-msgs/recipe.yaml b/recipes/ros-jazzy-nav-msgs/recipe.yaml new file mode 100644 index 00000000..4f5a0479 --- /dev/null +++ b/recipes/ros-jazzy-nav-msgs/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-nav-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/nav_msgs/5.3.5-1 + target_directory: ros-jazzy-nav-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-orocos-kdl-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-orocos-kdl-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml b/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml new file mode 100644 index 00000000..2cff3d6d --- /dev/null +++ b/recipes/ros-jazzy-orocos-kdl-vendor/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-orocos-kdl-vendor + version: 0.5.1 +source: + git: https://github.com/ros2-gbp/orocos_kdl_vendor-release.git + rev: release/jazzy/orocos_kdl_vendor/0.5.1-2 + target_directory: ros-jazzy-orocos-kdl-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - eigen + - numpy + - orocos-kdl + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - eigen + - orocos-kdl + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat b/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-performance-test-fixture/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh b/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-performance-test-fixture/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-performance-test-fixture/recipe.yaml b/recipes/ros-jazzy-performance-test-fixture/recipe.yaml new file mode 100644 index 00000000..b3164c94 --- /dev/null +++ b/recipes/ros-jazzy-performance-test-fixture/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-performance-test-fixture + version: 0.2.1 +source: + git: https://github.com/ros2-gbp/performance_test_fixture-release.git + rev: release/jazzy/performance_test_fixture/0.2.1-2 + target_directory: ros-jazzy-performance-test-fixture/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-dependencies + - ros-jazzy-ament-cmake-export-targets + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-google-benchmark-vendor + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-google-benchmark-vendor + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat b/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-pluginlib/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh b/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-pluginlib/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-pluginlib/recipe.yaml b/recipes/ros-jazzy-pluginlib/recipe.yaml new file mode 100644 index 00000000..c64c9571 --- /dev/null +++ b/recipes/ros-jazzy-pluginlib/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-pluginlib + version: 5.4.2 +source: + git: https://github.com/ros2-gbp/pluginlib-release.git + rev: release/jazzy/pluginlib/5.4.2-2 + target_directory: ros-jazzy-pluginlib/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-index-cpp + - ros-jazzy-class-loader + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-class-loader + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-python-cmake-module/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-python-cmake-module/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-python-cmake-module/recipe.yaml b/recipes/ros-jazzy-python-cmake-module/recipe.yaml new file mode 100644 index 00000000..d22a878a --- /dev/null +++ b/recipes/ros-jazzy-python-cmake-module/recipe.yaml @@ -0,0 +1,85 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-python-cmake-module + version: 0.11.1 +source: + git: https://github.com/ros2-gbp/python_cmake_module-release.git + rev: release/jazzy/python_cmake_module/0.11.1-2 + target_directory: ros-jazzy-python-cmake-module/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-action/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-action/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-action/recipe.yaml b/recipes/ros-jazzy-rcl-action/recipe.yaml new file mode 100644 index 00000000..1cc91d81 --- /dev/null +++ b/recipes/ros-jazzy-rcl-action/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-action + version: 9.2.3 +source: + git: https://github.com/ros2-gbp/rcl-release.git + rev: release/jazzy/rcl_action/9.2.3-1 + target_directory: ros-jazzy-rcl-action/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-action-msgs + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-interfaces/recipe.yaml b/recipes/ros-jazzy-rcl-interfaces/recipe.yaml new file mode 100644 index 00000000..f4a2af07 --- /dev/null +++ b/recipes/ros-jazzy-rcl-interfaces/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-interfaces + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/rcl_interfaces/2.0.2-2 + target_directory: ros-jazzy-rcl-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-lifecycle/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-lifecycle/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml b/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml new file mode 100644 index 00000000..a3e2e6e3 --- /dev/null +++ b/recipes/ros-jazzy-rcl-lifecycle/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-lifecycle + version: 9.2.3 +source: + git: https://github.com/ros2-gbp/rcl-release.git + rev: release/jazzy/rcl_lifecycle/9.2.3-1 + target_directory: ros-jazzy-rcl-lifecycle/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-lifecycle-msgs + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-interface/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-interface/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml b/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml new file mode 100644 index 00000000..93f42b86 --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-interface/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-logging-interface + version: 3.1.0 +source: + git: https://github.com/ros2-gbp/rcl_logging-release.git + rev: release/jazzy/rcl_logging_interface/3.1.0-2 + target_directory: ros-jazzy-rcl-logging-interface/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-spdlog/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-spdlog/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml b/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml new file mode 100644 index 00000000..f9b5c26c --- /dev/null +++ b/recipes/ros-jazzy-rcl-logging-spdlog/recipe.yaml @@ -0,0 +1,96 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-logging-spdlog + version: 3.1.0 +source: + git: https://github.com/ros2-gbp/rcl_logging-release.git + rev: release/jazzy/rcl_logging_spdlog/3.1.0-2 + target_directory: ros-jazzy-rcl-logging-spdlog/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-spdlog-vendor + - ros2-distro-mutex 0.5 jazzy + - spdlog + run: + - python + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-spdlog-vendor + - ros2-distro-mutex 0.5 jazzy + - spdlog + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl-yaml-param-parser/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh b/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl-yaml-param-parser/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml b/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml new file mode 100644 index 00000000..e5cc141d --- /dev/null +++ b/recipes/ros-jazzy-rcl-yaml-param-parser/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl-yaml-param-parser + version: 9.2.3 +source: + git: https://github.com/ros2-gbp/rcl-release.git + rev: release/jazzy/rcl_yaml_param_parser/9.2.3-1 + target_directory: ros-jazzy-rcl-yaml-param-parser/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-libyaml-vendor + - ros-jazzy-mimick-vendor + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + run: + - python + - ros-jazzy-libyaml-vendor + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcl/bld_ament_cmake.bat b/recipes/ros-jazzy-rcl/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcl/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcl/build_ament_cmake.sh b/recipes/ros-jazzy-rcl/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcl/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcl/recipe.yaml b/recipes/ros-jazzy-rcl/recipe.yaml new file mode 100644 index 00000000..5e55b83f --- /dev/null +++ b/recipes/ros-jazzy-rcl/recipe.yaml @@ -0,0 +1,123 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcl + version: 9.2.3 +source: + git: https://github.com/ros2-gbp/rcl-release.git + rev: release/jazzy/rcl/9.2.3-1 + target_directory: ros-jazzy-rcl/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-launch + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-libyaml-vendor + - ros-jazzy-mimick-vendor + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-logging-spdlog + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-service-msgs + - ros-jazzy-test-msgs + - ros-jazzy-tracetools + - ros-jazzy-type-description-interfaces + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + run: + - python + - ros-jazzy-libyaml-vendor + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-logging-spdlog + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-service-msgs + - ros-jazzy-tracetools + - ros-jazzy-type-description-interfaces + - ros2-distro-mutex 0.5 jazzy + - yaml + - yaml-cpp + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-action/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-action/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rclcpp-action/recipe.yaml b/recipes/ros-jazzy-rclcpp-action/recipe.yaml new file mode 100644 index 00000000..d684bb71 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-action/recipe.yaml @@ -0,0 +1,103 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rclcpp-action + version: 28.1.4 +source: + git: https://github.com/ros2-gbp/rclcpp-release.git + rev: release/jazzy/rclcpp_action/28.1.4-1 + target_directory: ros-jazzy-rclcpp-action/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-mimick-vendor + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-components/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-components/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rclcpp-components/recipe.yaml b/recipes/ros-jazzy-rclcpp-components/recipe.yaml new file mode 100644 index 00000000..59ae5c5d --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-components/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rclcpp-components + version: 28.1.4 +source: + git: https://github.com/ros2-gbp/rclcpp-release.git + rev: release/jazzy/rclcpp_components/28.1.4-1 + target_directory: ros-jazzy-rclcpp-components/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-class-loader + - ros-jazzy-composition-interfaces + - ros-jazzy-launch-testing + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-class-loader + - ros-jazzy-composition-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-lifecycle/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-lifecycle/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml b/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml new file mode 100644 index 00000000..3dc267b5 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp-lifecycle/recipe.yaml @@ -0,0 +1,106 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rclcpp-lifecycle + version: 28.1.4 +source: + git: https://github.com/ros2-gbp/rclcpp-release.git + rev: release/jazzy/rclcpp_lifecycle/28.1.4-1 + target_directory: ros-jazzy-rclcpp-lifecycle/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-lifecycle-msgs + - ros-jazzy-mimick-vendor + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh b/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rclcpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rclcpp/recipe.yaml b/recipes/ros-jazzy-rclcpp/recipe.yaml new file mode 100644 index 00000000..3b2f93c5 --- /dev/null +++ b/recipes/ros-jazzy-rclcpp/recipe.yaml @@ -0,0 +1,130 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rclcpp + version: 28.1.4 +source: + git: https://github.com/ros2-gbp/rclcpp-release.git + rev: release/jazzy/rclcpp/28.1.4-1 + target_directory: ros-jazzy-rclcpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-libstatistics-collector + - ros-jazzy-mimick-vendor + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosidl-default-generators + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-statistics-msgs + - ros-jazzy-test-msgs + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-builtin-interfaces + - ros-jazzy-libstatistics-collector + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-statistics-msgs + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat b/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rclpy/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rclpy/build_ament_cmake.sh b/recipes/ros-jazzy-rclpy/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rclpy/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rclpy/patch/ros-jazzy-rclpy.patch b/recipes/ros-jazzy-rclpy/patch/ros-jazzy-rclpy.patch new file mode 100644 index 00000000..89b7d203 --- /dev/null +++ b/recipes/ros-jazzy-rclpy/patch/ros-jazzy-rclpy.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 80b8a1f..5b6a55b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,7 +72,7 @@ function(configure_build_install_location _library_name) + endfunction() + + # Split from main extension and converted to pybind11 +-pybind11_add_module(_rclpy_pybind11 SHARED ++pybind11_add_module(_rclpy_pybind11 MODULE + src/rclpy/_rclpy_logging.cpp + src/rclpy/_rclpy_pybind11.cpp + src/rclpy/action_client.cpp diff --git a/recipes/ros-jazzy-rclpy/recipe.yaml b/recipes/ros-jazzy-rclpy/recipe.yaml new file mode 100644 index 00000000..5bbed499 --- /dev/null +++ b/recipes/ros-jazzy-rclpy/recipe.yaml @@ -0,0 +1,134 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rclpy + version: 7.1.2 +source: + git: https://github.com/ros2-gbp/rclpy-release.git + rev: release/jazzy/rclpy/7.1.2-1 + target_directory: ros-jazzy-rclpy/src/work + patches: + - patch/ros-jazzy-rclpy.patch + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - if: build_platform != target_platform + then: + - pybind11 + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-lifecycle-msgs + - ros-jazzy-pybind11-vendor + - ros-jazzy-python-cmake-module + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-test-msgs + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.5 jazzy + - pybind11 + run: + - python + - pyyaml + - ros-jazzy-action-msgs + - ros-jazzy-ament-index-python + - ros-jazzy-builtin-interfaces + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rpyutils + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} +tests: + - python: + imports: + - rclpy + pip_check: false diff --git a/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat b/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcpputils/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh b/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcpputils/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcpputils/recipe.yaml b/recipes/ros-jazzy-rcpputils/recipe.yaml new file mode 100644 index 00000000..46535771 --- /dev/null +++ b/recipes/ros-jazzy-rcpputils/recipe.yaml @@ -0,0 +1,96 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcpputils + version: 2.11.0 +source: + git: https://github.com/ros2-gbp/rcpputils-release.git + rev: release/jazzy/rcpputils/2.11.0-2 + target_directory: ros-jazzy-rcpputils/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-flake8 + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-pep257 + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-cmake-xmllint + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat b/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rcutils/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rcutils/build_ament_cmake.sh b/recipes/ros-jazzy-rcutils/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rcutils/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rcutils/recipe.yaml b/recipes/ros-jazzy-rcutils/recipe.yaml new file mode 100644 index 00000000..a93f543b --- /dev/null +++ b/recipes/ros-jazzy-rcutils/recipe.yaml @@ -0,0 +1,95 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rcutils + version: 6.7.1 +source: + git: https://github.com/ros2-gbp/rcutils-release.git + rev: release/jazzy/rcutils/6.7.1-1 + target_directory: ros-jazzy-rcutils/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - empy + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-launch + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-mimick-vendor + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-performance-test-fixture + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds-common/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds-common/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml b/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml new file mode 100644 index 00000000..f6b6b550 --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds-common/recipe.yaml @@ -0,0 +1,113 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-connextdds-common + version: 0.22.0 +source: + git: https://github.com/ros2-gbp/rmw_connextdds-release.git + rev: release/jazzy/rmw_connextdds_common/0.22.0-2 + target_directory: ros-jazzy-rmw-connextdds-common/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-rti-connext-dds-cmake-module + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-rti-connext-dds-cmake-module + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-connextdds/recipe.yaml b/recipes/ros-jazzy-rmw-connextdds/recipe.yaml new file mode 100644 index 00000000..e64714a2 --- /dev/null +++ b/recipes/ros-jazzy-rmw-connextdds/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-connextdds + version: 0.22.0 +source: + git: https://github.com/ros2-gbp/rmw_connextdds-release.git + rev: release/jazzy/rmw_connextdds/0.22.0-2 + target_directory: ros-jazzy-rmw-connextdds/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rmw-connextdds-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rmw-connextdds-common + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml new file mode 100644 index 00000000..7f1640ee --- /dev/null +++ b/recipes/ros-jazzy-rmw-cyclonedds-cpp/recipe.yaml @@ -0,0 +1,108 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-cyclonedds-cpp + version: 2.2.2 +source: + git: https://github.com/ros2-gbp/rmw_cyclonedds-release.git + rev: release/jazzy/rmw_cyclonedds_cpp/2.2.2-1 + target_directory: ros-jazzy-rmw-cyclonedds-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - if: build_platform != target_platform + then: + - ros-jazzy-cyclonedds + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-cyclonedds + - ros-jazzy-iceoryx-binding-c + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-cyclonedds + - ros-jazzy-iceoryx-binding-c + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-dds-common/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-dds-common/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-dds-common/recipe.yaml b/recipes/ros-jazzy-rmw-dds-common/recipe.yaml new file mode 100644 index 00000000..46310fbd --- /dev/null +++ b/recipes/ros-jazzy-rmw-dds-common/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-dds-common + version: 3.1.0 +source: + git: https://github.com/ros2-gbp/rmw_dds_common-release.git + rev: release/jazzy/rmw_dds_common/3.1.0-2 + target_directory: ros-jazzy-rmw-dds-common/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml new file mode 100644 index 00000000..9773697c --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-cpp/recipe.yaml @@ -0,0 +1,120 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-fastrtps-cpp + version: 8.4.1 +source: + git: https://github.com/ros2-gbp/rmw_fastrtps-release.git + rev: release/jazzy/rmw_fastrtps_cpp/8.4.1-1 + target_directory: ros-jazzy-rmw-fastrtps-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-dynamic-typesupport-fastrtps + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-test-msgs + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-dynamic-typesupport-fastrtps + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml new file mode 100644 index 00000000..57ffd98f --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-dynamic-cpp/recipe.yaml @@ -0,0 +1,112 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-fastrtps-dynamic-cpp + version: 8.4.1 +source: + git: https://github.com/ros2-gbp/rmw_fastrtps-release.git + rev: release/jazzy/rmw_fastrtps_dynamic_cpp/8.4.1-1 + target_directory: ros-jazzy-rmw-fastrtps-dynamic-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml new file mode 100644 index 00000000..47467de5 --- /dev/null +++ b/recipes/ros-jazzy-rmw-fastrtps-shared-cpp/recipe.yaml @@ -0,0 +1,111 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-fastrtps-shared-cpp + version: 8.4.1 +source: + git: https://github.com/ros2-gbp/rmw_fastrtps-release.git + rev: release/jazzy/rmw_fastrtps_shared_cpp/8.4.1-1 + target_directory: ros-jazzy-rmw-fastrtps-shared-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation-cmake/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation-cmake/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml b/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml new file mode 100644 index 00000000..59fea005 --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation-cmake/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-implementation-cmake + version: 7.3.1 +source: + git: https://github.com/ros2-gbp/rmw-release.git + rev: release/jazzy/rmw_implementation_cmake/7.3.1-1 + target_directory: ros-jazzy-rmw-implementation-cmake/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh b/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw-implementation/recipe.yaml b/recipes/ros-jazzy-rmw-implementation/recipe.yaml new file mode 100644 index 00000000..fe4990cb --- /dev/null +++ b/recipes/ros-jazzy-rmw-implementation/recipe.yaml @@ -0,0 +1,104 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw-implementation + version: 2.15.3 +source: + git: https://github.com/ros2-gbp/rmw_implementation-release.git + rev: release/jazzy/rmw_implementation/2.15.3-1 + target_directory: ros-jazzy-rmw-implementation/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-connextdds + - ros-jazzy-rmw-cyclonedds-cpp + - ros-jazzy-rmw-fastrtps-cpp + - ros-jazzy-rmw-fastrtps-dynamic-cpp + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw-connextdds + - ros-jazzy-rmw-cyclonedds-cpp + - ros-jazzy-rmw-fastrtps-cpp + - ros-jazzy-rmw-fastrtps-dynamic-cpp + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rmw/bld_ament_cmake.bat b/recipes/ros-jazzy-rmw/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rmw/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rmw/build_ament_cmake.sh b/recipes/ros-jazzy-rmw/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rmw/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rmw/recipe.yaml b/recipes/ros-jazzy-rmw/recipe.yaml new file mode 100644 index 00000000..b4341e85 --- /dev/null +++ b/recipes/ros-jazzy-rmw/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rmw + version: 7.3.1 +source: + git: https://github.com/ros2-gbp/rmw-release.git + rev: release/jazzy/rmw/7.3.1-1 + target_directory: ros-jazzy-rmw/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-cmake-version + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat b/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-robot-state-publisher/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh b/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-robot-state-publisher/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-robot-state-publisher/recipe.yaml b/recipes/ros-jazzy-robot-state-publisher/recipe.yaml new file mode 100644 index 00000000..86b77184 --- /dev/null +++ b/recipes/ros-jazzy-robot-state-publisher/recipe.yaml @@ -0,0 +1,110 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-robot-state-publisher + version: 3.3.3 +source: + git: https://github.com/ros2-gbp/robot_state_publisher-release.git + rev: release/jazzy/robot_state_publisher/3.3.3-3 + target_directory: ros-jazzy-robot-state-publisher/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-kdl-parser + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2-ros + - ros-jazzy-urdf + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-kdl-parser + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2-ros + - ros-jazzy-urdf + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros-base/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros-base/build_ament_cmake.sh b/recipes/ros-jazzy-ros-base/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros-base/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros-base/recipe.yaml b/recipes/ros-jazzy-ros-base/recipe.yaml new file mode 100644 index 00000000..0b1edffa --- /dev/null +++ b/recipes/ros-jazzy-ros-base/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros-base + version: 0.11.0 +source: + git: https://github.com/ros2-gbp/variants-release.git + rev: release/jazzy/ros_base/0.11.0-1 + target_directory: ros-jazzy-ros-base/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-geometry2 + - ros-jazzy-kdl-parser + - ros-jazzy-robot-state-publisher + - ros-jazzy-ros-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2 + - ros-jazzy-urdf + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros-core/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros-core/build_ament_cmake.sh b/recipes/ros-jazzy-ros-core/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros-core/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros-core/recipe.yaml b/recipes/ros-jazzy-ros-core/recipe.yaml new file mode 100644 index 00000000..e99ab69e --- /dev/null +++ b/recipes/ros-jazzy-ros-core/recipe.yaml @@ -0,0 +1,115 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros-core + version: 0.11.0 +source: + git: https://github.com/ros2-gbp/variants-release.git + rev: release/jazzy/ros_core/0.11.0-1 + target_directory: ros-jazzy-ros-core/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-auto + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-index-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-class-loader + - ros-jazzy-common-interfaces + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-launch-testing-ros + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-pluginlib + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli-common-extensions + - ros-jazzy-ros2launch + - ros-jazzy-rosidl-default-generators + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sros2 + - ros-jazzy-sros2-cmake + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat b/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros-testing/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh b/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros-testing/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros-testing/recipe.yaml b/recipes/ros-jazzy-ros-testing/recipe.yaml new file mode 100644 index 00000000..f30a789b --- /dev/null +++ b/recipes/ros-jazzy-ros-testing/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros-testing + version: 0.6.0 +source: + git: https://github.com/ros2-gbp/ros_testing-release.git + rev: release/jazzy/ros_testing/0.6.0-3 + target_directory: ros-jazzy-ros-testing/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-dependencies + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2test + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-workspace + - ros-jazzy-ros2test + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2action/bld_ament_python.bat b/recipes/ros-jazzy-ros2action/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2action/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2action/build_ament_python.sh b/recipes/ros-jazzy-ros2action/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2action/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2action/recipe.yaml b/recipes/ros-jazzy-ros2action/recipe.yaml new file mode 100644 index 00000000..7f3b8987 --- /dev/null +++ b/recipes/ros-jazzy-ros2action/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2action + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2action/0.32.1-1 + target_directory: ros-jazzy-ros2action/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2bag/bld_ament_python.bat b/recipes/ros-jazzy-ros2bag/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2bag/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2bag/build_ament_python.sh b/recipes/ros-jazzy-ros2bag/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2bag/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2bag/recipe.yaml b/recipes/ros-jazzy-ros2bag/recipe.yaml new file mode 100644 index 00000000..9d31e824 --- /dev/null +++ b/recipes/ros-jazzy-ros2bag/recipe.yaml @@ -0,0 +1,96 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2bag + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/ros2bag/0.26.5-1 + target_directory: ros-jazzy-ros2bag/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-test-common + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosbag2-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-common-extensions/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh b/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-common-extensions/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml b/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml new file mode 100644 index 00000000..727e689d --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-common-extensions/recipe.yaml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2cli-common-extensions + version: 0.3.0 +source: + git: https://github.com/ros2-gbp/ros2cli_common_extensions-release.git + rev: release/jazzy/ros2cli_common_extensions/0.3.0-3 + target_directory: ros-jazzy-ros2cli-common-extensions/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-workspace + - ros-jazzy-ros2action + - ros-jazzy-ros2cli + - ros-jazzy-ros2component + - ros-jazzy-ros2doctor + - ros-jazzy-ros2interface + - ros-jazzy-ros2launch + - ros-jazzy-ros2lifecycle + - ros-jazzy-ros2multicast + - ros-jazzy-ros2node + - ros-jazzy-ros2param + - ros-jazzy-ros2pkg + - ros-jazzy-ros2run + - ros-jazzy-ros2service + - ros-jazzy-ros2topic + - ros-jazzy-sros2 + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-test-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-test-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml b/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml new file mode 100644 index 00000000..113093d8 --- /dev/null +++ b/recipes/ros-jazzy-ros2cli-test-interfaces/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2cli-test-interfaces + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2cli_test_interfaces/0.32.1-1 + target_directory: ros-jazzy-ros2cli-test-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2cli/bld_ament_python.bat b/recipes/ros-jazzy-ros2cli/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2cli/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2cli/build_ament_python.sh b/recipes/ros-jazzy-ros2cli/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2cli/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2cli/recipe.yaml b/recipes/ros-jazzy-ros2cli/recipe.yaml new file mode 100644 index 00000000..707a8c11 --- /dev/null +++ b/recipes/ros-jazzy-ros2cli/recipe.yaml @@ -0,0 +1,95 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2cli + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2cli/0.32.1-1 + target_directory: ros-jazzy-ros2cli/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - argcomplete + - importlib-metadata + - packaging + - psutil + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2component/bld_ament_python.bat b/recipes/ros-jazzy-ros2component/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2component/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2component/build_ament_python.sh b/recipes/ros-jazzy-ros2component/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2component/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2component/recipe.yaml b/recipes/ros-jazzy-ros2component/recipe.yaml new file mode 100644 index 00000000..035dadbc --- /dev/null +++ b/recipes/ros-jazzy-ros2component/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2component + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2component/0.32.1-1 + target_directory: ros-jazzy-ros2component/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-composition-interfaces + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp-components + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2param + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat b/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2doctor/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2doctor/build_ament_python.sh b/recipes/ros-jazzy-ros2doctor/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2doctor/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2doctor/recipe.yaml b/recipes/ros-jazzy-ros2doctor/recipe.yaml new file mode 100644 index 00000000..807865f4 --- /dev/null +++ b/recipes/ros-jazzy-ros2doctor/recipe.yaml @@ -0,0 +1,103 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2doctor + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2doctor/0.32.1-1 + target_directory: ros-jazzy-ros2doctor/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - catkin_pkg + - importlib-metadata + - psutil + - python + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - rosdistro + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2interface/bld_ament_python.bat b/recipes/ros-jazzy-ros2interface/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2interface/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2interface/build_ament_python.sh b/recipes/ros-jazzy-ros2interface/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2interface/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2interface/recipe.yaml b/recipes/ros-jazzy-ros2interface/recipe.yaml new file mode 100644 index 00000000..d6b7cbab --- /dev/null +++ b/recipes/ros-jazzy-ros2interface/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2interface + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2interface/0.32.1-1 + target_directory: ros-jazzy-ros2interface/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli-test-interfaces + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-adapter + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2launch/bld_ament_python.bat b/recipes/ros-jazzy-ros2launch/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2launch/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2launch/build_ament_python.sh b/recipes/ros-jazzy-ros2launch/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2launch/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2launch/recipe.yaml b/recipes/ros-jazzy-ros2launch/recipe.yaml new file mode 100644 index 00000000..96eccbb5 --- /dev/null +++ b/recipes/ros-jazzy-ros2launch/recipe.yaml @@ -0,0 +1,101 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2launch + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/launch_ros-release.git + rev: release/jazzy/ros2launch/0.26.5-2 + target_directory: ros-jazzy-ros2launch/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-index-python + - ros-jazzy-ament-pep257 + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml new file mode 100644 index 00000000..bcf86110 --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle-test-fixtures/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2lifecycle-test-fixtures + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2lifecycle_test_fixtures/0.32.1-1 + target_directory: ros-jazzy-ros2lifecycle-test-fixtures/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat b/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh b/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2lifecycle/recipe.yaml b/recipes/ros-jazzy-ros2lifecycle/recipe.yaml new file mode 100644 index 00000000..08ad6719 --- /dev/null +++ b/recipes/ros-jazzy-ros2lifecycle/recipe.yaml @@ -0,0 +1,99 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2lifecycle + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2lifecycle/0.32.1-1 + target_directory: ros-jazzy-ros2lifecycle/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2lifecycle-test-fixtures + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2service + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat b/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2multicast/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2multicast/build_ament_python.sh b/recipes/ros-jazzy-ros2multicast/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2multicast/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2multicast/recipe.yaml b/recipes/ros-jazzy-ros2multicast/recipe.yaml new file mode 100644 index 00000000..59f3bb54 --- /dev/null +++ b/recipes/ros-jazzy-ros2multicast/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2multicast + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2multicast/0.32.1-1 + target_directory: ros-jazzy-ros2multicast/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2node/bld_ament_python.bat b/recipes/ros-jazzy-ros2node/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2node/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2node/build_ament_python.sh b/recipes/ros-jazzy-ros2node/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2node/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2node/recipe.yaml b/recipes/ros-jazzy-ros2node/recipe.yaml new file mode 100644 index 00000000..0f1cd5dc --- /dev/null +++ b/recipes/ros-jazzy-ros2node/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2node + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2node/0.32.1-1 + target_directory: ros-jazzy-ros2node/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2param/bld_ament_python.bat b/recipes/ros-jazzy-ros2param/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2param/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2param/build_ament_python.sh b/recipes/ros-jazzy-ros2param/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2param/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2param/recipe.yaml b/recipes/ros-jazzy-ros2param/recipe.yaml new file mode 100644 index 00000000..006d8cbe --- /dev/null +++ b/recipes/ros-jazzy-ros2param/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2param + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2param/0.32.1-1 + target_directory: ros-jazzy-ros2param/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2service + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat b/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2pkg/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2pkg/build_ament_python.sh b/recipes/ros-jazzy-ros2pkg/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2pkg/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2pkg/recipe.yaml b/recipes/ros-jazzy-ros2pkg/recipe.yaml new file mode 100644 index 00000000..7417cccf --- /dev/null +++ b/recipes/ros-jazzy-ros2pkg/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2pkg + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2pkg/0.32.1-1 + target_directory: ros-jazzy-ros2pkg/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - catkin_pkg + - empy + - importlib_resources + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2run/bld_ament_python.bat b/recipes/ros-jazzy-ros2run/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2run/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2run/build_ament_python.sh b/recipes/ros-jazzy-ros2run/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2run/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2run/recipe.yaml b/recipes/ros-jazzy-ros2run/recipe.yaml new file mode 100644 index 00000000..d3bf5b1b --- /dev/null +++ b/recipes/ros-jazzy-ros2run/recipe.yaml @@ -0,0 +1,91 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2run + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2run/0.32.1-1 + target_directory: ros-jazzy-ros2run/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2service/bld_ament_python.bat b/recipes/ros-jazzy-ros2service/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2service/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2service/build_ament_python.sh b/recipes/ros-jazzy-ros2service/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2service/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2service/recipe.yaml b/recipes/ros-jazzy-ros2service/recipe.yaml new file mode 100644 index 00000000..e1fe90b2 --- /dev/null +++ b/recipes/ros-jazzy-ros2service/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2service + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2service/0.32.1-1 + target_directory: ros-jazzy-ros2service/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2test/bld_ament_python.bat b/recipes/ros-jazzy-ros2test/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2test/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2test/build_ament_python.sh b/recipes/ros-jazzy-ros2test/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2test/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2test/recipe.yaml b/recipes/ros-jazzy-ros2test/recipe.yaml new file mode 100644 index 00000000..fee37702 --- /dev/null +++ b/recipes/ros-jazzy-ros2test/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2test + version: 0.6.0 +source: + git: https://github.com/ros2-gbp/ros_testing-release.git + rev: release/jazzy/ros2test/0.6.0-3 + target_directory: ros-jazzy-ros2test/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-domain-coordinator + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-ros2topic/bld_ament_python.bat b/recipes/ros-jazzy-ros2topic/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-ros2topic/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-ros2topic/build_ament_python.sh b/recipes/ros-jazzy-ros2topic/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-ros2topic/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-ros2topic/recipe.yaml b/recipes/ros-jazzy-ros2topic/recipe.yaml new file mode 100644 index 00000000..7c69a7a7 --- /dev/null +++ b/recipes/ros-jazzy-ros2topic/recipe.yaml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-ros2topic + version: 0.32.1 +source: + git: https://github.com/ros2-gbp/ros2cli-release.git + rev: release/jazzy/ros2topic/0.32.1-1 + target_directory: ros-jazzy-ros2topic/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - pytest-timeout + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-geometry-msgs + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ros + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-std-msgs + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - numpy + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression-zstd/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression-zstd/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml b/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml new file mode 100644 index 00000000..f96e3851 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression-zstd/recipe.yaml @@ -0,0 +1,96 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-compression-zstd + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_compression_zstd/0.26.5-1 + target_directory: ros-jazzy-rosbag2-compression-zstd/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-test-common + - ros-jazzy-zstd-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-zstd-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-compression/recipe.yaml b/recipes/ros-jazzy-rosbag2-compression/recipe.yaml new file mode 100644 index 00000000..cd0ca3c4 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-compression/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-compression + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_compression/0.26.5-1 + target_directory: ros-jazzy-rosbag2-compression/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-test-common + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml b/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml new file mode 100644 index 00000000..80df090f --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-cpp/recipe.yaml @@ -0,0 +1,117 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-cpp + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_cpp/0.26.5-1 + target_directory: ros-jazzy-rosbag2-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-test-common + - ros-jazzy-rosbag2-test-msgdefs + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-shared-queues-vendor + - ros-jazzy-std-msgs + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-shared-queues-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml b/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml new file mode 100644 index 00000000..d1d9c632 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-interfaces/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-interfaces + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_interfaces/0.26.5-1 + target_directory: ros-jazzy-rosbag2-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-py/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-py/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-py/recipe.yaml b/recipes/ros-jazzy-rosbag2-py/recipe.yaml new file mode 100644 index 00000000..058d393b --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-py/recipe.yaml @@ -0,0 +1,111 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-py + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_py/0.26.5-1 + target_directory: ros-jazzy-rosbag2-py/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - if: build_platform != target_platform + then: + - pybind11 + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pybind11-vendor + - ros-jazzy-python-cmake-module + - ros-jazzy-rcl-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-compression-zstd + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-test-common + - ros-jazzy-rosbag2-test-msgdefs + - ros-jazzy-rosbag2-transport + - ros-jazzy-rosidl-runtime-py + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - pybind11 + run: + - python + - ros-jazzy-pybind11-vendor + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-transport + - ros-jazzy-rpyutils + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml new file mode 100644 index 00000000..0bab2bf8 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-default-plugins/recipe.yaml @@ -0,0 +1,85 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-storage-default-plugins + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_storage_default_plugins/0.26.5-1 + target_directory: ros-jazzy-rosbag2-storage-default-plugins/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosbag2-storage-sqlite3 + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-mcap/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-mcap/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml new file mode 100644 index 00000000..5e2828fd --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-mcap/recipe.yaml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-storage-mcap + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_storage_mcap/0.26.5-1 + target_directory: ros-jazzy-rosbag2-storage-mcap/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-clang-format + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-mcap-vendor + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-test-common + - ros-jazzy-std-msgs + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-mcap-vendor + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml new file mode 100644 index 00000000..635ec9d3 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage-sqlite3/recipe.yaml @@ -0,0 +1,101 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-storage-sqlite3 + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_storage_sqlite3/0.26.5-1 + target_directory: ros-jazzy-rosbag2-storage-sqlite3/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pluginlib + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-test-common + - ros-jazzy-sqlite3-vendor + - ros-jazzy-std-msgs + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-sqlite3-vendor + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-storage/recipe.yaml b/recipes/ros-jazzy-rosbag2-storage/recipe.yaml new file mode 100644 index 00000000..71509e30 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-storage/recipe.yaml @@ -0,0 +1,98 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-storage + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_storage/0.26.5-1 + target_directory: ros-jazzy-rosbag2-storage/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-test-common + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-common/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-common/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml b/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml new file mode 100644 index 00000000..9ce122cd --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-common/recipe.yaml @@ -0,0 +1,91 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-test-common + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_test_common/0.26.5-1 + target_directory: ros-jazzy-rosbag2-test-common/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-python-cmake-module + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml b/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml new file mode 100644 index 00000000..59b8000a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-test-msgdefs/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-test-msgdefs + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_test_msgdefs/0.26.5-1 + target_directory: ros-jazzy-rosbag2-test-msgdefs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-tests/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-tests/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-tests/recipe.yaml b/recipes/ros-jazzy-rosbag2-tests/recipe.yaml new file mode 100644 index 00000000..f7e20f78 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-tests/recipe.yaml @@ -0,0 +1,101 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-tests + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_tests/0.26.5-1 + target_directory: ros-jazzy-rosbag2-tests/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2bag + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-compression-zstd + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-interfaces + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-test-common + - ros-jazzy-rosbag2-transport + - ros-jazzy-std-msgs + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-transport/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-transport/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2-transport/recipe.yaml b/recipes/ros-jazzy-rosbag2-transport/recipe.yaml new file mode 100644 index 00000000..7858b4d3 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2-transport/recipe.yaml @@ -0,0 +1,113 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2-transport + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2_transport/0.26.5-1 + target_directory: ros-jazzy-rosbag2-transport/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-composition-interfaces + - ros-jazzy-keyboard-handler + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-compression-zstd + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-interfaces + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-test-common + - ros-jazzy-shared-queues-vendor + - ros-jazzy-test-msgs + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-keyboard-handler + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-interfaces + - ros-jazzy-rosbag2-storage + - ros-jazzy-shared-queues-vendor + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat b/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosbag2/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh b/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosbag2/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosbag2/recipe.yaml b/recipes/ros-jazzy-rosbag2/recipe.yaml new file mode 100644 index 00000000..fefb773e --- /dev/null +++ b/recipes/ros-jazzy-rosbag2/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosbag2 + version: 0.26.5 +source: + git: https://github.com/ros2-gbp/rosbag2-release.git + rev: release/jazzy/rosbag2/0.26.5-1 + target_directory: ros-jazzy-rosbag2/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-test-common + - ros-jazzy-rosbag2-tests + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2bag + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-compression-zstd + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-transport + - ros-jazzy-shared-queues-vendor + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosgraph-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosgraph-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml b/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml new file mode 100644 index 00000000..99274b16 --- /dev/null +++ b/recipes/ros-jazzy-rosgraph-msgs/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosgraph-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/rosgraph_msgs/2.0.2-2 + target_directory: ros-jazzy-rosgraph-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-adapter/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-adapter/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-adapter/recipe.yaml b/recipes/ros-jazzy-rosidl-adapter/recipe.yaml new file mode 100644 index 00000000..f75059da --- /dev/null +++ b/recipes/ros-jazzy-rosidl-adapter/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-adapter + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_adapter/4.6.4-1 + target_directory: ros-jazzy-rosidl-adapter/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - empy + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cli/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh b/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cli/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-rosidl-cli/recipe.yaml b/recipes/ros-jazzy-rosidl-cli/recipe.yaml new file mode 100644 index 00000000..41ec09af --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cli/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-cli + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_cli/4.6.4-1 + target_directory: ros-jazzy-rosidl-cli/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - argcomplete + - importlib-metadata + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cmake/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cmake/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-cmake/recipe.yaml b/recipes/ros-jazzy-rosidl-cmake/recipe.yaml new file mode 100644 index 00000000..aae175bc --- /dev/null +++ b/recipes/ros-jazzy-rosidl-cmake/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-cmake + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_cmake/4.6.4-1 + target_directory: ros-jazzy-rosidl-cmake/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - empy + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - empy + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-pycommon + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-generators/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-generators/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml b/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml new file mode 100644 index 00000000..835f217d --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-generators/recipe.yaml @@ -0,0 +1,109 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-core-generators + version: 0.2.0 +source: + git: https://github.com/ros2-gbp/rosidl_core-release.git + rev: release/jazzy/rosidl_core_generators/0.2.0-3 + target_directory: ros-jazzy-rosidl-core-generators/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-runtime/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-runtime/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml b/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml new file mode 100644 index 00000000..eff44474 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-core-runtime/recipe.yaml @@ -0,0 +1,103 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-core-runtime + version: 0.2.0 +source: + git: https://github.com/ros2-gbp/rosidl_core-release.git + rev: release/jazzy/rosidl_core_runtime/0.2.0-3 + target_directory: ros-jazzy-rosidl-core-runtime/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-generators/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-generators/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml b/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml new file mode 100644 index 00000000..a1259039 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-generators/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-default-generators + version: 1.6.0 +source: + git: https://github.com/ros2-gbp/rosidl_defaults-release.git + rev: release/jazzy/rosidl_default_generators/1.6.0-3 + target_directory: ros-jazzy-rosidl-default-generators/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-runtime/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-runtime/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml b/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml new file mode 100644 index 00000000..06b70be1 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-default-runtime/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-default-runtime + version: 1.6.0 +source: + git: https://github.com/ros2-gbp/rosidl_defaults-release.git + rev: release/jazzy/rosidl_default_runtime/1.6.0-3 + target_directory: ros-jazzy-rosidl-default-runtime/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml new file mode 100644 index 00000000..89e3cb35 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport-fastrtps/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-dynamic-typesupport-fastrtps + version: 0.1.0 +source: + git: https://github.com/ros2-gbp/rosidl_dynamic_typesupport_fastrtps-release.git + rev: release/jazzy/rosidl_dynamic_typesupport_fastrtps/0.1.0-3 + target_directory: ros-jazzy-rosidl-dynamic-typesupport-fastrtps/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml b/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml new file mode 100644 index 00000000..9226f179 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-dynamic-typesupport/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-dynamic-typesupport + version: 0.1.2 +source: + git: https://github.com/ros2-gbp/rosidl_dynamic_typesupport-release.git + rev: release/jazzy/rosidl_dynamic_typesupport/0.1.2-3 + target_directory: ros-jazzy-rosidl-dynamic-typesupport/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-c/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-c/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml new file mode 100644 index 00000000..6bad1219 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-c/recipe.yaml @@ -0,0 +1,101 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-generator-c + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_generator_c/4.6.4-1 + target_directory: ros-jazzy-rosidl-generator-c/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml new file mode 100644 index 00000000..59992f4c --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-cpp/recipe.yaml @@ -0,0 +1,99 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-generator-cpp + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_generator_cpp/4.6.4-1 + target_directory: ros-jazzy-rosidl-generator-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-py/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-py/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml new file mode 100644 index 00000000..c9adb5b3 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-py/recipe.yaml @@ -0,0 +1,120 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-generator-py + version: 0.22.0 +source: + git: https://github.com/ros2-gbp/rosidl_python-release.git + rev: release/jazzy/rosidl_generator_py/0.22.0-2 + target_directory: ros-jazzy-rosidl-generator-py/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-index-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-python-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rpyutils + - ros-jazzy-test-interface-files + - ros2-distro-mutex 0.5 jazzy + run: + - numpy + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-flake8 + - ros-jazzy-ament-cmake-pep257 + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-index-python + - ros-jazzy-python-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rpyutils + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-type-description/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-type-description/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml b/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml new file mode 100644 index 00000000..fa04cd04 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-generator-type-description/recipe.yaml @@ -0,0 +1,91 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-generator-type-description + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_generator_type_description/4.6.4-1 + target_directory: ros-jazzy-rosidl-generator-type-description/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-parser/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-parser/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-parser/recipe.yaml b/recipes/ros-jazzy-rosidl-parser/recipe.yaml new file mode 100644 index 00000000..0d8846c6 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-parser/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-parser + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_parser/4.6.4-1 + target_directory: ros-jazzy-rosidl-parser/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - lark-parser + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-adapter + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-rosidl-pycommon/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh b/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-rosidl-pycommon/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml b/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml new file mode 100644 index 00000000..9d7771ff --- /dev/null +++ b/recipes/ros-jazzy-rosidl-pycommon/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-pycommon + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_pycommon/4.6.4-1 + target_directory: ros-jazzy-rosidl-pycommon/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-c/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-c/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml new file mode 100644 index 00000000..36fcd58c --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-c/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-runtime-c + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_runtime_c/4.6.4-1 + target_directory: ros-jazzy-rosidl-runtime-c/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml new file mode 100644 index 00000000..2ea1f260 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-cpp/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-runtime-cpp + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_runtime_cpp/4.6.4-1 + target_directory: ros-jazzy-rosidl-runtime-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat b/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-py/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh b/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-py/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml b/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml new file mode 100644 index 00000000..c037e33d --- /dev/null +++ b/recipes/ros-jazzy-rosidl-runtime-py/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-runtime-py + version: 0.13.1 +source: + git: https://github.com/ros2-gbp/rosidl_runtime_py-release.git + rev: release/jazzy/rosidl_runtime_py/0.13.1-2 + target_directory: ros-jazzy-rosidl-runtime-py/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros-jazzy-std-srvs + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - numpy + - python + - pyyaml + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-c/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-c/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml new file mode 100644 index 00000000..c41b381d --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-c/recipe.yaml @@ -0,0 +1,104 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-c + version: 3.2.2 +source: + git: https://github.com/ros2-gbp/rosidl_typesupport-release.git + rev: release/jazzy/rosidl_typesupport_c/3.2.2-1 + target_directory: ros-jazzy-rosidl-typesupport-c/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-mimick-vendor + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml new file mode 100644 index 00000000..be245c3a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-cpp/recipe.yaml @@ -0,0 +1,108 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-cpp + version: 3.2.2 +source: + git: https://github.com/ros2-gbp/rosidl_typesupport-release.git + rev: release/jazzy/rosidl_typesupport_cpp/3.2.2-1 + target_directory: ros-jazzy-rosidl-typesupport-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml new file mode 100644 index 00000000..dc65a7d2 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-c/recipe.yaml @@ -0,0 +1,113 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-fastrtps-c + version: 3.6.0 +source: + git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git + rev: release/jazzy/rosidl_typesupport_fastrtps_c/3.6.0-2 + target_directory: ros-jazzy-rosidl-typesupport-fastrtps-c/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml new file mode 100644 index 00000000..cf76ec5a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-fastrtps-cpp/recipe.yaml @@ -0,0 +1,113 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-fastrtps-cpp + version: 3.6.0 +source: + git: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git + rev: release/jazzy/rosidl_typesupport_fastrtps_cpp/3.6.0-2 + target_directory: ros-jazzy-rosidl-typesupport-fastrtps-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-osrf-testing-tools-cpp + - ros-jazzy-performance-test-fixture + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-interface/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-interface/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml new file mode 100644 index 00000000..3e15d289 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-interface/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-interface + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_typesupport_interface/4.6.4-1 + target_directory: ros-jazzy-rosidl-typesupport-interface/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml new file mode 100644 index 00000000..21fc5e37 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-c/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-introspection-c + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_typesupport_introspection_c/4.6.4-1 + target_directory: ros-jazzy-rosidl-typesupport-introspection-c/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml new file mode 100644 index 00000000..d40c35a2 --- /dev/null +++ b/recipes/ros-jazzy-rosidl-typesupport-introspection-cpp/recipe.yaml @@ -0,0 +1,105 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rosidl-typesupport-introspection-cpp + version: 4.6.4 +source: + git: https://github.com/ros2-gbp/rosidl-release.git + rev: release/jazzy/rosidl_typesupport_introspection_cpp/4.6.4-1 + target_directory: ros-jazzy-rosidl-typesupport-introspection-cpp/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat b/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh b/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml b/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml new file mode 100644 index 00000000..64020361 --- /dev/null +++ b/recipes/ros-jazzy-rti-connext-dds-cmake-module/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-rti-connext-dds-cmake-module + version: 0.22.0 +source: + git: https://github.com/ros2-gbp/rmw_connextdds-release.git + rev: release/jazzy/rti_connext_dds_cmake_module/0.22.0-2 + target_directory: ros-jazzy-rti-connext-dds-cmake-module/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat b/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs-py/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh b/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs-py/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml b/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml new file mode 100644 index 00000000..06afeaaa --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs-py/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-sensor-msgs-py + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/sensor_msgs_py/5.3.5-1 + target_directory: ros-jazzy-sensor-msgs-py/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - numpy + - python + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-sensor-msgs/recipe.yaml b/recipes/ros-jazzy-sensor-msgs/recipe.yaml new file mode 100644 index 00000000..2272a347 --- /dev/null +++ b/recipes/ros-jazzy-sensor-msgs/recipe.yaml @@ -0,0 +1,95 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-sensor-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/sensor_msgs/5.3.5-1 + target_directory: ros-jazzy-sensor-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-service-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-service-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-service-msgs/recipe.yaml b/recipes/ros-jazzy-service-msgs/recipe.yaml new file mode 100644 index 00000000..0d1c83df --- /dev/null +++ b/recipes/ros-jazzy-service-msgs/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-service-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/service_msgs/2.0.2-2 + target_directory: ros-jazzy-service-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-shape-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-shape-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-shape-msgs/recipe.yaml b/recipes/ros-jazzy-shape-msgs/recipe.yaml new file mode 100644 index 00000000..28482683 --- /dev/null +++ b/recipes/ros-jazzy-shape-msgs/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-shape-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/shape_msgs/5.3.5-1 + target_directory: ros-jazzy-shape-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-spdlog-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-spdlog-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-spdlog-vendor/recipe.yaml b/recipes/ros-jazzy-spdlog-vendor/recipe.yaml new file mode 100644 index 00000000..d9f2db38 --- /dev/null +++ b/recipes/ros-jazzy-spdlog-vendor/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-spdlog-vendor + version: 1.6.1 +source: + git: https://github.com/ros2-gbp/spdlog_vendor-release.git + rev: release/jazzy/spdlog_vendor/1.6.1-1 + target_directory: ros-jazzy-spdlog-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - spdlog + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - spdlog + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat b/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-sros2-cmake/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh b/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-sros2-cmake/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-sros2-cmake/recipe.yaml b/recipes/ros-jazzy-sros2-cmake/recipe.yaml new file mode 100644 index 00000000..7e90c6ee --- /dev/null +++ b/recipes/ros-jazzy-sros2-cmake/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-sros2-cmake + version: 0.13.2 +source: + git: https://github.com/ros2-gbp/sros2-release.git + rev: release/jazzy/sros2_cmake/0.13.2-1 + target_directory: ros-jazzy-sros2-cmake/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-sros2 + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-sros2 + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-sros2/bld_ament_python.bat b/recipes/ros-jazzy-sros2/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-sros2/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-sros2/build_ament_python.sh b/recipes/ros-jazzy-sros2/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-sros2/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-sros2/recipe.yaml b/recipes/ros-jazzy-sros2/recipe.yaml new file mode 100644 index 00000000..43712635 --- /dev/null +++ b/recipes/ros-jazzy-sros2/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-sros2 + version: 0.13.2 +source: + git: https://github.com/ros2-gbp/sros2-release.git + rev: release/jazzy/sros2/0.13.2-1 + target_directory: ros-jazzy-sros2/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-mypy + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-testing + - ros-jazzy-ros-workspace + - ros-jazzy-test-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - argcomplete + - cryptography + - importlib_resources + - lxml + - python + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-statistics-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-statistics-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-statistics-msgs/recipe.yaml b/recipes/ros-jazzy-statistics-msgs/recipe.yaml new file mode 100644 index 00000000..e6e3d09b --- /dev/null +++ b/recipes/ros-jazzy-statistics-msgs/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-statistics-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/statistics_msgs/2.0.2-2 + target_directory: ros-jazzy-statistics-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-std-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-std-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-std-msgs/recipe.yaml b/recipes/ros-jazzy-std-msgs/recipe.yaml new file mode 100644 index 00000000..5e69ce6b --- /dev/null +++ b/recipes/ros-jazzy-std-msgs/recipe.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-std-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/std_msgs/5.3.5-1 + target_directory: ros-jazzy-std-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat b/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-std-srvs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh b/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-std-srvs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-std-srvs/recipe.yaml b/recipes/ros-jazzy-std-srvs/recipe.yaml new file mode 100644 index 00000000..eea1c60f --- /dev/null +++ b/recipes/ros-jazzy-std-srvs/recipe.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-std-srvs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/std_srvs/5.3.5-1 + target_directory: ros-jazzy-std-srvs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-stereo-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-stereo-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-stereo-msgs/recipe.yaml b/recipes/ros-jazzy-stereo-msgs/recipe.yaml new file mode 100644 index 00000000..35bc8918 --- /dev/null +++ b/recipes/ros-jazzy-stereo-msgs/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-stereo-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/stereo_msgs/5.3.5-1 + target_directory: ros-jazzy-stereo-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-test-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-test-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-test-msgs/recipe.yaml b/recipes/ros-jazzy-test-msgs/recipe.yaml new file mode 100644 index 00000000..1fc08dc5 --- /dev/null +++ b/recipes/ros-jazzy-test-msgs/recipe.yaml @@ -0,0 +1,91 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-test-msgs + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/test_msgs/2.0.2-2 + target_directory: ros-jazzy-test-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-test-interface-files + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-bullet/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-bullet/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-bullet/recipe.yaml b/recipes/ros-jazzy-tf2-bullet/recipe.yaml new file mode 100644 index 00000000..f3f8ffce --- /dev/null +++ b/recipes/ros-jazzy-tf2-bullet/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-bullet + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_bullet/0.36.4-1 + target_directory: ros-jazzy-tf2-bullet/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - bullet + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + run: + - bullet + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen-kdl/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen-kdl/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml b/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml new file mode 100644 index 00000000..eaf28ff8 --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen-kdl/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-eigen-kdl + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_eigen_kdl/0.36.4-1 + target_directory: ros-jazzy-tf2-eigen-kdl/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - eigen + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros2-distro-mutex 0.5 jazzy + run: + - eigen + - python + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-eigen/recipe.yaml b/recipes/ros-jazzy-tf2-eigen/recipe.yaml new file mode 100644 index 00000000..ba57c949 --- /dev/null +++ b/recipes/ros-jazzy-tf2-eigen/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-eigen + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_eigen/0.36.4-1 + target_directory: ros-jazzy-tf2-eigen/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - eigen + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + run: + - eigen + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-geometry-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-geometry-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml new file mode 100644 index 00000000..dbdae45f --- /dev/null +++ b/recipes/ros-jazzy-tf2-geometry-msgs/recipe.yaml @@ -0,0 +1,99 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-geometry-msgs + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_geometry_msgs/0.36.4-1 + target_directory: ros-jazzy-tf2-geometry-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-python-cmake-module + - ros-jazzy-rclcpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + run: + - numpy + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-kdl/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-kdl/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-kdl/recipe.yaml b/recipes/ros-jazzy-tf2-kdl/recipe.yaml new file mode 100644 index 00000000..cc09d6df --- /dev/null +++ b/recipes/ros-jazzy-tf2-kdl/recipe.yaml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-kdl + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_kdl/0.36.4-1 + target_directory: ros-jazzy-tf2-kdl/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rclcpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-msgs/recipe.yaml new file mode 100644 index 00000000..01293cb3 --- /dev/null +++ b/recipes/ros-jazzy-tf2-msgs/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-msgs + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_msgs/0.36.4-1 + target_directory: ros-jazzy-tf2-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-py/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-py/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-py/recipe.yaml b/recipes/ros-jazzy-tf2-py/recipe.yaml new file mode 100644 index 00000000..fccb88b7 --- /dev/null +++ b/recipes/ros-jazzy-tf2-py/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-py + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_py/0.36.4-1 + target_directory: ros-jazzy-tf2-py/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-geometry-msgs + - ros-jazzy-python-cmake-module + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rpyutils + - ros-jazzy-tf2 + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat b/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros-py/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh b/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros-py/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-tf2-ros-py/recipe.yaml b/recipes/ros-jazzy-tf2-ros-py/recipe.yaml new file mode 100644 index 00000000..57c9cd3b --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros-py/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-ros-py + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_ros_py/0.36.4-1 + target_directory: ros-jazzy-tf2-ros-py/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-ros/recipe.yaml b/recipes/ros-jazzy-tf2-ros/recipe.yaml new file mode 100644 index 00000000..e2811c9c --- /dev/null +++ b/recipes/ros-jazzy-tf2-ros/recipe.yaml @@ -0,0 +1,105 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-ros + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_ros/0.36.4-1 + target_directory: ros-jazzy-tf2-ros/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-message-filters + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-message-filters + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2-sensor-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2-sensor-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml b/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml new file mode 100644 index 00000000..3c32f422 --- /dev/null +++ b/recipes/ros-jazzy-tf2-sensor-msgs/recipe.yaml @@ -0,0 +1,105 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-sensor-msgs + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_sensor_msgs/0.36.4-1 + target_directory: ros-jazzy-tf2-sensor-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - eigen + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometry-msgs + - ros-jazzy-python-cmake-module + - ros-jazzy-rclcpp + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.5 jazzy + run: + - eigen + - numpy + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-sensor-msgs-py + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat b/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat new file mode 100644 index 00000000..902db09b --- /dev/null +++ b/recipes/ros-jazzy-tf2-tools/bld_ament_python.bat @@ -0,0 +1,25 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +pushd %SRC_DIR%\%PKG_NAME%\src\work +set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" +set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" + +:: If there is a setup.cfg that contains install-scripts then use pip to install +findstr install[-_]scripts setup.cfg +if "%errorlevel%" == "0" ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% +) else ( + %PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ + --prefix=%LIBRARY_PREFIX% ^ + --install-lib=%SP_DIR% ^ + --install-scripts=%LIBRARY_PREFIX%\bin +) + +if errorlevel 1 exit 1 diff --git a/recipes/ros-jazzy-tf2-tools/build_ament_python.sh b/recipes/ros-jazzy-tf2-tools/build_ament_python.sh new file mode 100644 index 00000000..9a661cee --- /dev/null +++ b/recipes/ros-jazzy-tf2-tools/build_ament_python.sh @@ -0,0 +1,17 @@ +# 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 +if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then + # Remove e.g. ros-humble- from PKG_NAME + PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-} + # Substitute "-" with "_" + PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_} + INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT" + echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG" + $PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt +else + $PYTHON -m pip install . --no-deps -vvv +fi diff --git a/recipes/ros-jazzy-tf2-tools/recipe.yaml b/recipes/ros-jazzy-tf2-tools/recipe.yaml new file mode 100644 index 00000000..656cde1e --- /dev/null +++ b/recipes/ros-jazzy-tf2-tools/recipe.yaml @@ -0,0 +1,93 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2-tools + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2_tools/0.36.4-1 + target_directory: ros-jazzy-tf2-tools/src/work + +build: + script: ${{ 'build_ament_python.sh' if unix else 'bld_ament_python.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pytest + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-flake8 + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - setuptools + run: + - graphviz + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tf2/bld_ament_cmake.bat b/recipes/ros-jazzy-tf2/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tf2/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tf2/build_ament_cmake.sh b/recipes/ros-jazzy-tf2/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tf2/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tf2/recipe.yaml b/recipes/ros-jazzy-tf2/recipe.yaml new file mode 100644 index 00000000..6bcf6fba --- /dev/null +++ b/recipes/ros-jazzy-tf2/recipe.yaml @@ -0,0 +1,100 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tf2 + version: 0.36.4 +source: + git: https://github.com/ros2-gbp/geometry2-release.git + rev: release/jazzy/tf2/0.36.4-1 + target_directory: ros-jazzy-tf2/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-cmake-xmllint + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rcutils + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat b/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-tracetools/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-tracetools/build_ament_cmake.sh b/recipes/ros-jazzy-tracetools/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-tracetools/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-tracetools/recipe.yaml b/recipes/ros-jazzy-tracetools/recipe.yaml new file mode 100644 index 00000000..34ad5c77 --- /dev/null +++ b/recipes/ros-jazzy-tracetools/recipe.yaml @@ -0,0 +1,90 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-tracetools + version: 8.2.2 +source: + git: https://github.com/ros2-gbp/ros2_tracing-release.git + rev: release/jazzy/tracetools/8.2.2-1 + target_directory: ros-jazzy-tracetools/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - ${{ "lttng-ust" if linux }} + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - pkg-config + - python + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + run: + - ${{ "lttng-ust" if linux }} + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-trajectory-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-trajectory-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-trajectory-msgs/recipe.yaml b/recipes/ros-jazzy-trajectory-msgs/recipe.yaml new file mode 100644 index 00000000..21b2577e --- /dev/null +++ b/recipes/ros-jazzy-trajectory-msgs/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-trajectory-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/trajectory_msgs/5.3.5-1 + target_directory: ros-jazzy-trajectory-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat b/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-type-description-interfaces/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh b/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-type-description-interfaces/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-type-description-interfaces/recipe.yaml b/recipes/ros-jazzy-type-description-interfaces/recipe.yaml new file mode 100644 index 00000000..09f70b11 --- /dev/null +++ b/recipes/ros-jazzy-type-description-interfaces/recipe.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-type-description-interfaces + version: 2.0.2 +source: + git: https://github.com/ros2-gbp/rcl_interfaces-release.git + rev: release/jazzy/type_description_interfaces/2.0.2-2 + target_directory: ros-jazzy-type-description-interfaces/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat b/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-uncrustify-vendor/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh b/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-uncrustify-vendor/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml b/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml new file mode 100644 index 00000000..75497da3 --- /dev/null +++ b/recipes/ros-jazzy-uncrustify-vendor/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-uncrustify-vendor + version: 3.0.0 +source: + git: https://github.com/ros2-gbp/uncrustify_vendor-release.git + rev: release/jazzy/uncrustify_vendor/3.0.0-2 + target_directory: ros-jazzy-uncrustify-vendor/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + - vcstool + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-vendor-package + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - uncrustify + run: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.5 jazzy + - uncrustify + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-unique-identifier-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-unique-identifier-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml b/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml new file mode 100644 index 00000000..e7255dd6 --- /dev/null +++ b/recipes/ros-jazzy-unique-identifier-msgs/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-unique-identifier-msgs + version: 2.5.0 +source: + git: https://github.com/ros2-gbp/unique_identifier_msgs-release.git + rev: release/jazzy/unique_identifier_msgs/2.5.0-3 + target_directory: ros-jazzy-unique-identifier-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat b/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-urdf-parser-plugin/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh b/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-urdf-parser-plugin/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml b/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml new file mode 100644 index 00000000..ab7d76fc --- /dev/null +++ b/recipes/ros-jazzy-urdf-parser-plugin/recipe.yaml @@ -0,0 +1,87 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-urdf-parser-plugin + version: 2.10.0 +source: + git: https://github.com/ros2-gbp/urdf-release.git + rev: release/jazzy/urdf_parser_plugin/2.10.0-3 + target_directory: ros-jazzy-urdf-parser-plugin/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-urdf/bld_ament_cmake.bat b/recipes/ros-jazzy-urdf/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-urdf/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-urdf/build_ament_cmake.sh b/recipes/ros-jazzy-urdf/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-urdf/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-urdf/recipe.yaml b/recipes/ros-jazzy-urdf/recipe.yaml new file mode 100644 index 00000000..1c7ad424 --- /dev/null +++ b/recipes/ros-jazzy-urdf/recipe.yaml @@ -0,0 +1,96 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-urdf + version: 2.10.0 +source: + git: https://github.com/ros2-gbp/urdf-release.git + rev: release/jazzy/urdf/2.10.0-3 + target_directory: ros-jazzy-urdf/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake-google-benchmark + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-pluginlib + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf-parser-plugin + - ros-jazzy-urdfdom + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-pluginlib + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf-parser-plugin + - ros-jazzy-urdfdom + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-urdfdom/bld_catkin.bat b/recipes/ros-jazzy-urdfdom/bld_catkin.bat new file mode 100644 index 00000000..854efe1b --- /dev/null +++ b/recipes/ros-jazzy-urdfdom/bld_catkin.bat @@ -0,0 +1,81 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" + +:: MSVC is preferred. +set CC=cl.exe +set CXX=cl.exe + +:: ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin +:: if ROS (1) is build as shared library . However, some packages are not +:: passing compilation flags from CMake to other build systems (such as qmake), +:: so we enable it explicitly via the CL environment variable, see +:: https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 +set CL=/DROS_BUILD_SHARED_LIBS=1 /DNOGDI=1 + +set "CATKIN_BUILD_BINARY_PACKAGE_ARGS=-DCATKIN_BUILD_BINARY_PACKAGE=1" +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: create catkin cookie to make it is a catkin workspace + type NUL > %LIBRARY_PREFIX%\.catkin + :: keep the workspace activation scripts (e.g., local_setup.bat) + set CATKIN_BUILD_BINARY_PACKAGE_ARGS= +) + +rd /s /q build +mkdir build +pushd build + +set SKIP_TESTING=ON + +cmake ^ + -G "Ninja" ^ + --compile-no-warning-as-error ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=ON ^ + -DBUILD_SHARED_LIBS=ON ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + %CATKIN_BUILD_BINARY_PACKAGE_ARGS% ^ + -DCATKIN_SKIP_TESTING=%SKIP_TESTING% ^ + %SRC_DIR%\%PKG_NAME%\src\work +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-eigenpy" ( + cmake --build . --config Release --target all --parallel 1 + if errorlevel 1 exit 1 +) else ( + cmake --build . --config Release --target all + if errorlevel 1 exit 1 +) + +if "%SKIP_TESTING%" == "OFF" ( + cmake --build . --config Release --target run_tests + if errorlevel 1 exit 1 +) + +cmake --build . --config Release --target install +if errorlevel 1 exit 1 + +if "%PKG_NAME%" == "ros-jazzy-catkin" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + ) +) + +if "%PKG_NAME%" == "ros-jazzy-ros-workspace" ( + :: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d. + :: This will allow them to be run on environment activation. + for %%F in (activate deactivate) DO ( + if not exist %PREFIX%\etc\conda\%%F.d mkdir %PREFIX%\etc\conda\%%F.d + copy %RECIPE_DIR%\%%F.bat %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.bat + copy %RECIPE_DIR%\%%F.ps1 %PREFIX%\etc\conda\%%F.d\%PKG_NAME%_%%F.ps1 + ) +) diff --git a/recipes/ros-jazzy-urdfdom/build_catkin.sh b/recipes/ros-jazzy-urdfdom/build_catkin.sh new file mode 100644 index 00000000..36c4efc2 --- /dev/null +++ b/recipes/ros-jazzy-urdfdom/build_catkin.sh @@ -0,0 +1,123 @@ +# Generated by vinca http://github.com/RoboStack/vinca. +# DO NOT EDIT! + +CATKIN_BUILD_BINARY_PACKAGE="ON" + +if [ "${PKG_NAME}" == "ros-jazzy-catkin" ]; then + # create catkin cookie to make it is a catkin workspace + touch $PREFIX/.catkin + # keep the workspace activation scripts (e.g., local_setup.bat) + CATKIN_BUILD_BINARY_PACKAGE="OFF" +fi + +rm -rf build +mkdir build +cd build + +# necessary for correctly linking SIP files (from python_qt_bindings) +export LINK=$CXX + +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then + PYTHON_EXECUTABLE=$PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="10.15" +else + PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python + PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config + OSX_DEPLOYMENT_TARGET="11.0" +fi + +echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" +echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}" + +export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"` +echo "Using Python $ROS_PYTHON_VERSION" +# Fix up SP_DIR which for some reason might contain a path to a wrong Python version +FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/") +echo "Using site-package dir ${FIXED_SP_DIR}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true + # way around bad CPU type issues + # rm $PREFIX/bin/doxygen || echo "doxygen not found" + # rm $PREFIX/bin/dia || echo "dia not found" + # rm $PREFIX/bin/dot || echo "dot not found" +fi + +# NOTE: there might be undefined references occurring +# in the Boost.system library, depending on the C++ versions +# used to compile Boost. We can avoid them by forcing the use of +# the header-only version of the library. +export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY" + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1"; + export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1"; + # I am too scared to turn this on for now ... + # export LDFLAGS="$LDFLAGS -lrt"; + # Some qt stuff uses g++ directly - fix these use cases + ln -s $GXX $BUILD_PREFIX/bin/g++ +fi + +export SKIP_TESTING=ON + +cmake ${CMAKE_ARGS} --compile-no-warning-as-error \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \ + -DCMAKE_FIND_FRAMEWORK=LAST \ + -DBUILD_SHARED_LIBS=ON \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + -G "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-jazzy-catkin" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-environment" ]; then + for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh" + do + mkdir -p "${PREFIX}/etc/conda/activate.d" + cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}" + done +fi + +if [ "${PKG_NAME}" == "ros-jazzy-ros-workspace" ]; then + # Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d. + # This will allow them to be run on environment activation. + for CHANGE in "activate" "deactivate" + do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" + done +fi diff --git a/recipes/ros-jazzy-urdfdom/recipe.yaml b/recipes/ros-jazzy-urdfdom/recipe.yaml new file mode 100644 index 00000000..e3abf119 --- /dev/null +++ b/recipes/ros-jazzy-urdfdom/recipe.yaml @@ -0,0 +1,92 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-urdfdom + version: 4.0.0 +source: + git: https://github.com/ros2-gbp/urdfdom-release.git + rev: release/jazzy/urdfdom/4.0.0-3 + target_directory: ros-jazzy-urdfdom/src/work + +build: + script: ${{ 'build_catkin.sh' if unix else 'bld_catkin.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - console_bridge + - numpy + - pip + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + - tinyxml2 + run: + - console_bridge + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.5 jazzy + - tinyxml2 + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat b/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat new file mode 100644 index 00000000..34cd2340 --- /dev/null +++ b/recipes/ros-jazzy-visualization-msgs/bld_ament_cmake.bat @@ -0,0 +1,49 @@ +:: Generated by vinca http://github.com/RoboStack/vinca. +:: DO NOT EDIT! +setlocal EnableDelayedExpansion + +set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_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%" + +:: PYTHON_INSTALL_DIR should be a relative path, see +:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, +:: but it is not trivial to do this in Command Prompt scripting, so let's do it via +:: python + +:: This line is scary, but it basically assigns the output of the command inside (` and `) +:: to the variable specified after DO SET +:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` +FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']))"`) DO SET PYTHON_INSTALL_DIR=%%i + +cmake ^ + -G "%CMAKE_GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DPYTHON_EXECUTABLE=%PYTHON% ^ + -DPython_EXECUTABLE=%PYTHON% ^ + -DPython3_EXECUTABLE=%PYTHON% ^ + -DSETUPTOOLS_DEB_LAYOUT=OFF ^ + -DBUILD_SHARED_LIBS=ON ^ + -DBUILD_TESTING=OFF ^ + -DCMAKE_OBJECT_PATH_MAX=255 ^ + --compile-no-warning-as-error ^ + -DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ + %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/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh b/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh new file mode 100644 index 00000000..d26f218a --- /dev/null +++ b/recipes/ros-jazzy-visualization-msgs/build_ament_cmake.sh @@ -0,0 +1,76 @@ +# 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}" + +# see https://github.com/conda-forge/cross-python-feedstock/issues/24 +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then + find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~${BUILD_PREFIX}/lib/python${ROS_PYTHON_VERSION}/site-packages~g" {} + || true + find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true +fi + +if [[ $target_platform =~ linux.* ]]; then + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS=1" + export CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS=1" +fi; + +# Needed for qt-gui-cpp .. +if [[ $target_platform =~ linux.* ]]; then + ln -s $GCC ${BUILD_PREFIX}/bin/gcc + ln -s $GXX ${BUILD_PREFIX}/bin/g++ +fi; + +# PYTHON_INSTALL_DIR should be a relative path, see +# https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md +# So we compute the relative path of $SP_DIR w.r.t. to $PREFIX, +# but it is not trivial to do this in bash scripting, so let's do it via python +export PYTHON_INSTALL_DIR=`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['PREFIX']))"` +echo "Using site_packages: $PYTHON_INSTALL_DIR" + +cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DAMENT_PREFIX_PATH=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \ + -DPython3_FIND_STRATEGY=LOCATION \ + -DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \ + -DPYTHON_INSTALL_DIR=$PYTHON_INSTALL_DIR \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCATKIN_SKIP_TESTING=$SKIP_TESTING \ + -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_IGNORE_PREFIX_PATH="/opt/homebrew;/usr/local/homebrew" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \ + --compile-no-warning-as-error \ + $SRC_DIR/$PKG_NAME/src/work + +cmake --build . --config Release --target install diff --git a/recipes/ros-jazzy-visualization-msgs/recipe.yaml b/recipes/ros-jazzy-visualization-msgs/recipe.yaml new file mode 100644 index 00000000..e3cf4b59 --- /dev/null +++ b/recipes/ros-jazzy-visualization-msgs/recipe.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json + +package: + name: ros-jazzy-visualization-msgs + version: 5.3.5 +source: + git: https://github.com/ros2-gbp/common_interfaces-release.git + rev: release/jazzy/visualization_msgs/5.3.5-1 + target_directory: ros-jazzy-visualization-msgs/src/work + +build: + script: ${{ 'build_ament_cmake.sh' if unix else 'bld_ament_cmake.bat' }} + number: 0 + post_process: + - files: + - '*.pc' + regex: (?:-L|-I)?"?([^;\s]+/sysroot/) + replacement: $(CONDA_BUILD_SYSROOT_S) + - files: + - '*.cmake' + regex: ([^;\s"]+/sysroot) + replacement: $ENV{CONDA_BUILD_SYSROOT} + - files: + - '*.cmake' + regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk) + replacement: $ENV{CONDA_BUILD_SYSROOT} +about: + homepage: https://www.ros.org/ + license: BSD-3-Clause + summary: | + Robot Operating System + +extra: + recipe-maintainers: + - ros-forge + +requirements: + build: + - ${{ compiler('cxx') }} + - ${{ compiler('c') }} + - ${{ stdlib('c') }} + - ninja + - python + - setuptools + - if: unix + then: + - make + - coreutils + - if: osx + then: + - tapi + - if: build_platform != target_platform + then: + - pkg-config + - cmake + - cython + - if: build_platform != target_platform + then: + - python + - if: build_platform != target_platform + then: + - cross-python_${{ target_platform }} + - if: build_platform != target_platform + then: + - numpy + host: + - if: build_platform == target_platform + then: + - pkg-config + - numpy + - pip + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-lint-common + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-generators + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + run: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.5 jazzy + - if: osx and x86_64 + then: + - __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }} diff --git a/recipes/ros2-distro-mutex/recipe.yaml b/recipes/ros2-distro-mutex/recipe.yaml new file mode 100644 index 00000000..e3a86b5e --- /dev/null +++ b/recipes/ros2-distro-mutex/recipe.yaml @@ -0,0 +1,49 @@ +package: + name: ros2-distro-mutex + version: 0.5.0 + +build: + number: 0 + string: jazzy + +requirements: + # NOTE: + # The idea with automatically adding versions to run_exports doesn't + # work since we don't want all these dependencies as run deps of all ROS + # packages. Therefore I am currently manually adding them to run_constrained. + # This has to be synchronized with our current conda_build_config all the time :( + # host: + # # values here should + # - log4cxx + # - poco + # - pcl + # - opencv + # - gazebo + # - ogre + # - qt + # run: + # values here should be applied from run_exports! + # if the upstream package does not have run_exports + # please change it in the conda_build_config.yaml! + run_constraints: + - libboost 1.84.* + - libboost-devel 1.84.* + - pcl 1.14.1.* + - gazebo 11.* + - libpqxx 7.* + + run_exports: + weak: + - ${{ pin_subpackage('ros2-distro-mutex', upper_bound='x.x') }} + +about: + homepage: https://github.com/robostack/ros-jazzy + license: BSD-3-Clause + summary: | + The ROS2 distro mutex. To switch between ROS2 versions, you need to change the mutex. + E.g. mamba install ros2-distro-mutex=*=jazzy to switch to jazzy. + +extra: + recipe-maintainers: + - ros-forge + diff --git a/vinca.yaml b/vinca.yaml new file mode 100644 index 00000000..eeb00ffb --- /dev/null +++ b/vinca.yaml @@ -0,0 +1,38 @@ +ros_distro: jazzy + +# mapping for package keys +conda_index: + - robostack.yaml + - packages-ignore.yaml + +build_number: 0 + +mutex_package: ros2-distro-mutex 0.5 jazzy + +skip_all_deps: false + +# If full rebuild, the build number of the existing package has +# to match the selected build number for skipping +full_rebuild: true + +packages_skip_by_deps: + - cartographer + - octomap + +packages_remove_from_deps: + - cartographer + - octomap + - warehouse_ros_mongo + +skip_existing: + - https://conda.anaconda.org/robostack-jazzy/ + +packages_select_by_deps: + - ros_workspace + - ros_environment + - ros_base + # - desktop + + +patch_dir: patch + diff --git a/vinca_7010fdf55e.json b/vinca_7010fdf55e.json new file mode 100644 index 00000000..3f82a0a8 --- /dev/null +++ b/vinca_7010fdf55e.json @@ -0,0 +1 @@ +{"packages":{},"packages.conda":{"ros-humble-octomap-1.9.8-h60d57d3_2.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"h60d57d3_2","build_number":2,"depends":["octomap 1.9.*"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166509151,"md5":"5b80bc0c69398f657e11d622350050d4","name":"ros-humble-octomap","requires":[],"size":1662,"version":"1.9.8","binstar":{"package_id":"6674a0848c7b2f8b2ca7ce6a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6abdf2dbd092cb8bd8fc1982c7237365cccd2e0e200ef31f3d20f966771700a1"},"ros-humble-urdfdom-py-1.2.0-h60d57d3_2.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"h60d57d3_2","build_number":2,"depends":["urdfdom-py ==1.2.0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166509213,"md5":"01f440e25ec6ecaeb4a4a940f54d190e","name":"ros-humble-urdfdom-py","requires":[],"size":1656,"version":"1.2.0","binstar":{"package_id":"6674a08584d8e3c9b344de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"084d6546843f33abfd0ebb73df9f41bd3d9e4dc5b588a1a34d049ef4dcc9e354"},"ros-jazzy-ament-package-0.16.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["importlib-metadata","importlib_resources","python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","setuptools","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140490876,"md5":"912c228637704df8901b21199e3cdd82","name":"ros-jazzy-ament-package","requires":[],"size":41668,"version":"0.16.3","binstar":{"package_id":"6674a0880ec0a9de7a21416c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b0eb7d9d47ab195b4a835334d39ecbc0b72e43995ed68c14b59b86fa58079928"},"ros2-distro-mutex-0.5.0-jazzy.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"jazzy","build_number":0,"constrains":["libboost 1.84.*","libboost-devel 1.84.*","pcl 1.14.1.*","gazebo 11.*","libpqxx 7.*"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166507565,"md5":"a7fc08e141146a0ca80e2cd73097ff0d","name":"ros2-distro-mutex","requires":[],"depends":[],"size":2167,"version":"0.5.0","binstar":{"package_id":"6674a08a15fc1c937921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"b9fdacc5b28114e7aa2342a9af0e71a910b083882b47e12a6a132d4e238fb699"},"ros-jazzy-ament-cmake-core-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["catkin_pkg","cmake","python 3.12.* *_cpython","ros-jazzy-ament-package","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140531129,"md5":"be92554b89ac2cb68f316f2b27f02e1c","name":"ros-jazzy-ament-cmake-core","requires":[],"size":42498,"version":"2.5.0","binstar":{"package_id":"6674a0d7b557d1c73d6af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"80d8f97993a1c4c6b9c9f54cfa815455472e3033a5098658d8ea99b47958b86d"},"ros-jazzy-ros-environment-4.2.1-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140558290,"md5":"ad75149e9b6ea21805faeaa57382dbde","name":"ros-jazzy-ros-environment","requires":[],"size":19006,"version":"4.2.1","binstar":{"package_id":"6674a0d952b92cb4069dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f09aae5d83d437b5a53def0d6f1c71a714c174aca07908fa2878b3f5cf3c5937"},"ros-jazzy-ros-workspace-1.0.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140547186,"md5":"25529827af4af255b1ce4755aa8c1a3e","name":"ros-jazzy-ros-workspace","requires":[],"size":33268,"version":"1.0.3","binstar":{"package_id":"6674a0dbdd9abcfdfb9dbd24","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"18ca0b89a6aa291a20bccd57333be841e0f4442626bf112c360b7efddf5d4e2a"},"ros-jazzy-iceoryx-hoofs-2.0.5-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140588423,"md5":"f52fe9854cb51517a4e9742f1639309f","name":"ros-jazzy-iceoryx-hoofs","requires":[],"size":257631,"version":"2.0.5","binstar":{"package_id":"6674a1224ef4ab0e17883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4afbc7f5cbcf507ed02fc56f2f9303f360eec45bac5499535b70dcc112f3543e"},"ros-jazzy-urdfdom-headers-1.1.1-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140609839,"md5":"43b01f33ce7e890647100b5b8f7c890f","name":"ros-jazzy-urdfdom-headers","requires":[],"size":26436,"version":"1.1.1","binstar":{"package_id":"6674a123ff4752325d57944d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"82d0447996f55f22b16b7a87c76c5df4cab751faabd0e8a2068374cfc7a67854"},"ros-jazzy-ament-cmake-include-directories-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140639114,"md5":"3374fa1ebcf5e75e8727e641d832ebfd","name":"ros-jazzy-ament-cmake-include-directories","requires":[],"size":19528,"version":"2.5.0","binstar":{"package_id":"6674a1307aab843f03579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1cc179faf165dbb394967b9bd2d2ac74fd05995f09d2980abe924fee8fb077a4"},"ros-jazzy-ament-cmake-export-definitions-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140629252,"md5":"8c07fe93da9a16e64bff206e80f5c5d6","name":"ros-jazzy-ament-cmake-export-definitions","requires":[],"size":19679,"version":"2.5.0","binstar":{"package_id":"6674a13266b718689c44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8250e0feec83343d836c3d7b067e6d2967b68b3343f2ea75faf7d7cd3534a515"},"ros-jazzy-ament-cmake-libraries-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140630716,"md5":"eaa38589b8993457cf573c05ec280d64","name":"ros-jazzy-ament-cmake-libraries","requires":[],"size":19213,"version":"2.5.0","binstar":{"package_id":"6674a133bf586e21d26af053","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4402aa8ee343659bd7797c720a3c181d2b39266347da06e5b9b5a1ed2a098f71"},"ros-jazzy-ament-cmake-export-include-directories-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140620844,"md5":"3b1511c681d9876c9da8f49261a2f065","name":"ros-jazzy-ament-cmake-export-include-directories","requires":[],"size":20077,"version":"2.5.0","binstar":{"package_id":"6674a1348eba59d71d44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c201641596c555a7fc3f982b337b892a0fa65b03451a2ec49964f0ebb7a45bf3"},"ros-jazzy-ament-cmake-python-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140607237,"md5":"4f6926cc2aa6d0280d0b640f027b9e4c","name":"ros-jazzy-ament-cmake-python","requires":[],"size":21801,"version":"2.5.0","binstar":{"package_id":"6674a134fda12eef0045c4f3","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"cb4381ae7841e4cbf4e3253fcb80e99e9d26fb9a6b5c05ce757eab31f95e086a"},"ros-jazzy-ament-cmake-export-libraries-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140588501,"md5":"2eaa7145415a195fc569d2bba3c211d4","name":"ros-jazzy-ament-cmake-export-libraries","requires":[],"size":21633,"version":"2.5.0","binstar":{"package_id":"6674a135751ba5b24b21416e","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"52d11281b2473d7b0d9e7a20be63fb7ba2b9acafb1ace3f07ef94aeb96b060c1"},"ros-jazzy-ament-lint-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140589051,"md5":"d38e6e18067a06c14081d51225422eaa","name":"ros-jazzy-ament-lint","requires":[],"size":16271,"version":"0.17.0","binstar":{"package_id":"6674a1357f5cc3d27f45c4f6","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ec1daf30ec74ce7500fa39e03ef3e712c351ec67f22565565557abf9f9fa681f"},"ros-jazzy-gtest-vendor-1.14.9000-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140622960,"md5":"2e5fc4a743297ed271acb56a25ae8e99","name":"ros-jazzy-gtest-vendor","requires":[],"size":207343,"version":"1.14.9000","binstar":{"package_id":"6674a136b5589307ae1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3a206b476844b5d7c2e13e1170a3ebb35c600515f6f3f86e509285792b087c0c"},"ros-jazzy-ament-cmake-export-link-flags-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140612665,"md5":"93c6276025111f27b61accae2f9ecf41","name":"ros-jazzy-ament-cmake-export-link-flags","requires":[],"size":19636,"version":"2.5.0","binstar":{"package_id":"6674a137a34cc3f166a7ce6b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"73be72ac33ffcdd49b05fb95d36be3452606080212316c2f3343f9e35ad8f6f2"},"ros-jazzy-ament-cmake-version-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140603565,"md5":"06a9d5d8e4fed20b14cf6538a1431c6e","name":"ros-jazzy-ament-cmake-version","requires":[],"size":19386,"version":"2.5.0","binstar":{"package_id":"6674a13adbc9a5ddb5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f1ac3b86cf42ef512b73d99e18101e5bfdf49fc6459aef4d32b6250eb0927f60"},"ros-jazzy-ament-pycodestyle-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["pycodestyle","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140590034,"md5":"6d49166c495a3c983a6366800d629d4a","name":"ros-jazzy-ament-pycodestyle","requires":[],"size":21346,"version":"0.17.0","binstar":{"package_id":"6674a143f1e91f8ddc6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e8a89532f9928381ac0034eb76c3f34c499c93c56855be4725bb11ec75037561"},"ros-jazzy-google-benchmark-vendor-0.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["benchmark","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140615306,"md5":"a2f823b561c06f4678a52549c72c807e","name":"ros-jazzy-google-benchmark-vendor","requires":[],"size":15018,"version":"0.5.0","binstar":{"package_id":"6674a145d25c322a2e1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ff2adcafc0ed7ef6ca2054fac735d0981b4671a7f973e861574cb5785a260993"},"ros-jazzy-osrf-pycommon-2.1.4-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["importlib-metadata","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140605322,"md5":"481fd1dc31dd4f553f8e8997458503a7","name":"ros-jazzy-osrf-pycommon","requires":[],"size":63412,"version":"2.1.4","binstar":{"package_id":"6674a14ad8010e9cee1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d186f73edf1a57511015b4d88a96398e908f799210c259b794b997de3c845b99"},"ros-jazzy-osrf-testing-tools-cpp-2.0.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140626421,"md5":"4ce3832312e95b2ed6d50c2820340045","name":"ros-jazzy-osrf-testing-tools-cpp","requires":[],"size":5121053,"version":"2.0.0","binstar":{"package_id":"6674a14c1aea3d65a045c4f5","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"79b51be24db2eab9a65b1fe0f4b19183fb767819f65f0ebb0079b67365af9f39"},"ros-jazzy-test-interface-files-0.11.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140643505,"md5":"c11fbf98adb4ba6ece8c294ff2dade95","name":"ros-jazzy-test-interface-files","requires":[],"size":21497,"version":"0.11.0","binstar":{"package_id":"6674a14e3ca8a6ae9e883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"7092176615da72da6bc471cf2d773d71610416c5fa6bf9c91993087cc0fe439a"},"ros-jazzy-ament-cmake-export-dependencies-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140703755,"md5":"05b5727813193849b8d2ee2031a7da77","name":"ros-jazzy-ament-cmake-export-dependencies","requires":[],"size":20585,"version":"2.5.0","binstar":{"package_id":"6674a1a7d6a022a9b921416b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a170d88617d59c7ef1a483699e600211e507af72523da7908ca765e1cc27ade0"},"ros-jazzy-ament-cmake-export-targets-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140720082,"md5":"319b538d03e6f5aea8ce24b74cf2b492","name":"ros-jazzy-ament-cmake-export-targets","requires":[],"size":20431,"version":"2.5.0","binstar":{"package_id":"6674a1a8c42c2ed11157944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1f86fda4d2db0ab7db801f3fc463681bde7ae23a6de5d555e40168dc96ac70ed"},"ros-jazzy-ament-cmake-target-dependencies-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-include-directories","ros-jazzy-ament-cmake-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140712227,"md5":"d215a4e232f0e7a08d3e9c51f8612910","name":"ros-jazzy-ament-cmake-target-dependencies","requires":[],"size":21220,"version":"2.5.0","binstar":{"package_id":"6674a1a9b557d1c73d6af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"6ee1a72f1de90ffbd24f3e8b9d16e29c637eb26126b33255396b85761547d396"},"ros-jazzy-ament-cmake-test-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140690869,"md5":"28375aeff88963de40532e4f23a98520","name":"ros-jazzy-ament-cmake-test","requires":[],"size":33801,"version":"2.5.0","binstar":{"package_id":"6674a1aa83e518de36a7ce6c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a2e605c960503f299f76415da77bb93155b4b717f7411f00aa61e29b9b28f561"},"ros-jazzy-ament-flake8-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["flake8","flake8-builtins","flake8-docstrings","flake8-import-order","flake8-quotes","python 3.12.* *_cpython","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140675767,"md5":"d9812dcafd864ca326db8531e9878da5","name":"ros-jazzy-ament-flake8","requires":[],"size":27206,"version":"0.17.0","binstar":{"package_id":"6674a1ac189b62b6cff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"60e170615b4bfc21921853f328a4893cf965fe12462c2ccb72c5bb272e5737b5"},"ros-jazzy-ament-cmake-export-interfaces-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140675458,"md5":"b38ef3e686bd16c351ee8100cdfc42e6","name":"ros-jazzy-ament-cmake-export-interfaces","requires":[],"size":20289,"version":"2.5.0","binstar":{"package_id":"6674a1c372cb57ea62f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"14d86c88f73f523ec4a2dde76e7056028b5f5f83d4a70bed4910ac640097faf0"},"ros-jazzy-gmock-vendor-1.14.9000-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140690574,"md5":"b716d159d5540618819a19ea80ad64df","name":"ros-jazzy-gmock-vendor","requires":[],"size":121034,"version":"1.14.9000","binstar":{"package_id":"6674a1c589a9c37693883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"9ef73b18d34d9a41037ea9566c3a90108d3862c0bc45478cc1fe49afa06dd034"},"ros-jazzy-iceoryx-posh-2.0.5-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-iceoryx-hoofs","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140699343,"md5":"b21b9e25264e259bee960040b0079750","name":"ros-jazzy-iceoryx-posh","requires":[],"size":436126,"version":"2.0.5","binstar":{"package_id":"6674a1c772ad0f0ae5a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"161947ad4e5eef5ff2a30a455ecda29f8fb117b39875948207c227e06a7b716c"},"ros-jazzy-ament-cmake-google-benchmark-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-test","ros-jazzy-google-benchmark-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140874481,"md5":"04541717dec55c4749ebdfb99d2c2393","name":"ros-jazzy-ament-cmake-google-benchmark","requires":[],"size":29244,"version":"2.5.0","binstar":{"package_id":"6674a213aba19321c6f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"e4aeff47ef8b86ed4b36434ad48f26a717c5df0b785b798a745c0c1aaae4523a"},"ros-jazzy-ament-cmake-pytest-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["pytest","python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140759645,"md5":"0fe0be7e8d63fee6d8aa153ec67660e3","name":"ros-jazzy-ament-cmake-pytest","requires":[],"size":22296,"version":"2.5.0","binstar":{"package_id":"6674a21417bbcfe6d5579449","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"f757d1ffcd918ce226edab6eb6c51145f4398bca3cfb6082694abb475c06ee4e"},"ros-jazzy-iceoryx-binding-c-2.0.5-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140883982,"md5":"cea01862b96919815b2f83fdf5d22fcf","name":"ros-jazzy-iceoryx-binding-c","requires":[],"size":80198,"version":"2.0.5","binstar":{"package_id":"6674a21572cb57ea62f4ab99","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"ca5e4ea8682175fb5ef94675358bddb27319d9be0fe8e864d07a256fac8292ad"},"ros-jazzy-ament-cmake-gtest-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["gtest","python 3.12.* *_cpython","ros-jazzy-ament-cmake-test","ros-jazzy-gtest-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","gtest >=1.14.0,<1.14.1.0a0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140835357,"md5":"e5202fa6ad6afc5bc2064113647981a1","name":"ros-jazzy-ament-cmake-gtest","requires":[],"size":22294,"version":"2.5.0","binstar":{"package_id":"6674a21d86c5f0ddff44de71","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"130d937e7c56a9e25948d68c1232cffd9d948fbfcfc77c7a5160c71725e61781"},"ros-jazzy-ament-cmake-vendor-package-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-dependencies","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","vcstool","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140847982,"md5":"238b88df3bca894261d4373a6c4a1c7d","name":"ros-jazzy-ament-cmake-vendor-package","requires":[],"size":24345,"version":"2.5.0","binstar":{"package_id":"6674a21ede26c9d519883dd8","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2169fbfcec77853eef2f236625764eca96e47316812f008a002f765fcd2f6d21"},"ros-jazzy-ament-lint-auto-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-test","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140864397,"md5":"5775ab94dc4dea78459e67f36e88afd6","name":"ros-jazzy-ament-lint-auto","requires":[],"size":19634,"version":"0.17.0","binstar":{"package_id":"6674a21f52b92cb4069dbd2a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5d60a322f56b19768f113cb3252a0e211bd013de4d89c29bfb1da45ca0748e9e"},"ros-jazzy-ament-mypy-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["mypy","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140856140,"md5":"cfe0ff55ac9273a9e770d0c85e4ca981","name":"ros-jazzy-ament-mypy","requires":[],"size":25372,"version":"0.17.0","binstar":{"package_id":"6674a2204161a5e24dc62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"0b15436215a30d0462a2533713be5e0063037b92f3983e4e4d5a679cccb07519"},"ros-jazzy-ament-pep257-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["pydocstyle","python 3.12.* *_cpython","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140819805,"md5":"4de93b3874991c394855945783c2bdfd","name":"ros-jazzy-ament-pep257","requires":[],"size":25583,"version":"0.17.0","binstar":{"package_id":"6674a221de26c9d519883dda","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"5afe8dba15f901634a4f77579d1796f65a97a6d991074bcc829cd161bfc7548c"},"ros-jazzy-ament-cmake-gen-version-h-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140936767,"md5":"f3fe575116f1f31e6da4f8868d765aec","name":"ros-jazzy-ament-cmake-gen-version-h","requires":[],"size":22406,"version":"2.5.0","binstar":{"package_id":"6674a28d7eb3630506c62372","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"8cb6e3da240b1c7a04c15b03d869d1bf26f5fabcb6b0aae21b8416c0e7d85883"},"ros-jazzy-ament-cmake-gmock-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["gmock","python 3.12.* *_cpython","ros-jazzy-ament-cmake-gtest","ros-jazzy-ament-cmake-test","ros-jazzy-gmock-vendor","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140951047,"md5":"7956d1fb96aa068d4310a5058440c868","name":"ros-jazzy-ament-cmake-gmock","requires":[],"size":22522,"version":"2.5.0","binstar":{"package_id":"6674a290c650598af657944a","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"99ed55c4495065a5d641a745862980cfcf65fb602ddc1c5a825e82acb973174e"},"ros-jazzy-ament-copyright-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["importlib-metadata","python 3.12.* *_cpython","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140920038,"md5":"c1fecc0d8c6d14e4548613ca0d9236f9","name":"ros-jazzy-ament-copyright","requires":[],"size":65094,"version":"0.17.0","binstar":{"package_id":"6674a291a2d10e383ff4ab9d","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"1338635125fdae9e68201e887dc5e98170da8d6a350d87fa5635aec432ad7462"},"ros-jazzy-cyclonedds-0.10.4-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["openssl","python 3.12.* *_cpython","ros-jazzy-iceoryx-binding-c","ros-jazzy-iceoryx-hoofs","ros-jazzy-iceoryx-posh","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","openssl >=3.3.1,<4.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719140959158,"md5":"095c96c4753cfebeaf111d837d5feae2","name":"ros-jazzy-cyclonedds","requires":[],"size":1056511,"version":"0.10.4","binstar":{"package_id":"6674a293cc5a7c2475f4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"62a956457b3ec0cb71b9705de857cc2219e1eee89d93a78f5fd6a2d1e3891c51"},"ros-jazzy-ament-clang-format-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["clang-format","python 3.12.* *_cpython","pyyaml","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141027521,"md5":"ac9832ddefd2d266d8758bdc2310b10d","name":"ros-jazzy-ament-clang-format","requires":[],"size":29085,"version":"0.17.0","binstar":{"package_id":"6674a2dcee500a2b2d1922bf","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"a322541e2470bd352ea69252716e883ab9cca406e545254cf02018d9f4a53d0d"},"ros-jazzy-ament-index-python-1.8.1-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141006150,"md5":"49a3174e780117030aef78fab985ed59","name":"ros-jazzy-ament-index-python","requires":[],"size":28218,"version":"1.8.1","binstar":{"package_id":"6674a2de3ebd9bb417c12e4b","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"3fdd189c52f04fa3943bf2ef43e491850c64df21399285bce2890bf4fccd32d4"},"ros-jazzy-domain-coordinator-0.12.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141018312,"md5":"a1014269004ed2f47fac4f06f9b6015b","name":"ros-jazzy-domain-coordinator","requires":[],"size":19634,"version":"0.12.0","binstar":{"package_id":"6674a2df1940d61b8344de70","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"246efa1324135e8f2fea4a3cdd5898d1184e52847da9ac0e159adce16bcc725b"},"ros-jazzy-ament-cmake-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["cmake","python 3.12.* *_cpython","ros-jazzy-ament-cmake-core","ros-jazzy-ament-cmake-export-definitions","ros-jazzy-ament-cmake-export-dependencies","ros-jazzy-ament-cmake-export-include-directories","ros-jazzy-ament-cmake-export-interfaces","ros-jazzy-ament-cmake-export-libraries","ros-jazzy-ament-cmake-export-link-flags","ros-jazzy-ament-cmake-export-targets","ros-jazzy-ament-cmake-gen-version-h","ros-jazzy-ament-cmake-libraries","ros-jazzy-ament-cmake-python","ros-jazzy-ament-cmake-target-dependencies","ros-jazzy-ament-cmake-test","ros-jazzy-ament-cmake-version","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141035791,"md5":"4e6e27eb745309b6ceee6fa262f69ec7","name":"ros-jazzy-ament-cmake","requires":[],"size":20805,"version":"2.5.0","binstar":{"package_id":"6674a2eda2d10e383ff4ab9f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"81492eea6c8ce90cd1d4564ec669bac8f21eaeeb8750cf5db1ed5384251a19b0"},"ros-jazzy-ament-cppcheck-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["cppcheck","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141067623,"md5":"f7f038a0c5f3e66871386c6ddf84eca8","name":"ros-jazzy-ament-cppcheck","requires":[],"size":28430,"version":"0.17.0","binstar":{"package_id":"6674a2ee7aab843f03579451","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"2d20d879f810dbdcf7ce884fa8e3f661de99b4a5fe13639ee3894e7ea274e9ac"},"ros-jazzy-ament-cpplint-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141058641,"md5":"e305d180d57d2e968be86b71cbd25fd4","name":"ros-jazzy-ament-cpplint","requires":[],"size":167530,"version":"0.17.0","binstar":{"package_id":"6674a2eff3b3829c06f4ab96","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c4556899aef8e0dfa9593322bbb6b31c07a9217eb523261f92d1af6cd6306408"},"ros-jazzy-ament-lint-cmake-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141010865,"md5":"c6294e4440852d8afc4a741297cf24fc","name":"ros-jazzy-ament-lint-cmake","requires":[],"size":37993,"version":"0.17.0","binstar":{"package_id":"6674a2f1e9156fea239d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"4ab541847515cd62c1927b0d953b8aef7317ff4d9a5f503fcb7676653be768f2"},"ros-jazzy-ament-xmllint-0.17.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["libxml2","python 3.12.* *_cpython","ros-jazzy-ament-lint","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141049409,"md5":"786f762f853aaee0694c385c90477cdb","name":"ros-jazzy-ament-xmllint","requires":[],"size":26588,"version":"0.17.0","binstar":{"package_id":"6674a2f2c88619e4bd9d9855","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"39f3154113ae5d3075946bf7d89eefd9075e6d839d213cc3f844a4a3d8d61a04"},"ros-jazzy-pybind11-vendor-3.1.2-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["pybind11","python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141113953,"md5":"35444c84a667acc40fa6674f70af0b0b","name":"ros-jazzy-pybind11-vendor","requires":[],"size":20637,"version":"3.1.2","binstar":{"package_id":"6674a343ea2199b4dff4ab97","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"46777be2b0bdd1a301aa4c51d9bf9ea2976ab0ac4ce58bb330ce15a4c8ae8d02"},"ros-jazzy-rpyutils-0.4.1-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141100723,"md5":"a087e9ffba152f7ed62fc6ba7effd26c","name":"ros-jazzy-rpyutils","requires":[],"size":24651,"version":"0.4.1","binstar":{"package_id":"6674a3449d4c1e9d4f44de6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"993ba18c55e82ae563d81bc97f774db37c9a8368a7e70ca00915bf81b2dccefd"},"ros-jazzy-tinyxml2-vendor-0.9.1-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","tinyxml2","__osx >=11.0","libcxx >=17","tinyxml2 >=10.0.0,<11.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141125466,"md5":"142151601848db3680581c6fa8794201","name":"ros-jazzy-tinyxml2-vendor","requires":[],"size":21481,"version":"0.9.1","binstar":{"package_id":"6674a349598bb36cab57944c","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"c7d3b4872f8946d3ab6d9f76b60b9f64f09d45ce5ceff297d351a35583847619"},"ros-jazzy-ament-cmake-auto-2.5.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ament-cmake","ros-jazzy-ament-cmake-gmock","ros-jazzy-ament-cmake-gtest","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141136298,"md5":"6f5d8123655a1d44efd10bed16a80c09","name":"ros-jazzy-ament-cmake-auto","requires":[],"size":24618,"version":"2.5.0","binstar":{"package_id":"6674a34992c307f5a7a7ce6f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"55e89a84d1b3eb06ed6627a19b347e976b81fd35d188280fd786c16cab26c992"},"ros-jazzy-yaml-cpp-vendor-9.0.0-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","yaml-cpp","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","yaml-cpp >=0.8.0,<0.9.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141135244,"md5":"1dfbb553865e591c50806f30348963ba","name":"ros-jazzy-yaml-cpp-vendor","requires":[],"size":20547,"version":"9.0.0","binstar":{"package_id":"6674a34abfe0729017c62374","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"d3d0c35362a2d853c54deda59f9dfe4545699c33b2418e86165642e420a95d08"},"ros-jazzy-liblz4-vendor-0.26.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141099383,"md5":"fbf5029019f5b0dba79765305cd17b2c","name":"ros-jazzy-liblz4-vendor","requires":[],"size":21319,"version":"0.26.3","binstar":{"package_id":"6674a34bb60870276744de75","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"bc08d1a444a72e380a347ba4324126f9d79a5178ec32b45bdc4c838e41f5a189"},"ros-jazzy-zstd-vendor-0.26.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","zstd","libcxx >=17","__osx >=11.0","ros2-distro-mutex >=0.5.0,<0.6.0a0","zstd >=1.5.6,<1.6.0a0","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141143843,"md5":"3d79e96f485cb284af27bc903246a3ed","name":"ros-jazzy-zstd-vendor","requires":[],"size":21432,"version":"0.26.3","binstar":{"package_id":"6674a34dc42c2ed11157944f","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"856ed3e39bde4da66351d0f3eb1c38de2ae8d9d24e258686accc2e95be04825f"},"ros-jazzy-shared-queues-vendor-0.26.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","__osx >=11.0","libcxx >=17","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312","numpy >=1.26.4,<2.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141125993,"md5":"6b49ca8cfa30bf34204b802ae2c8e0f7","name":"ros-jazzy-shared-queues-vendor","requires":[],"size":33414,"version":"0.26.3","binstar":{"package_id":"6674a34dfce8b5e8a96af055","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"74da54ce218ef9ef56b31003fa06a4f8aa0a812b932222e657b94837c88d1f58"},"ros-jazzy-sqlite3-vendor-0.26.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-ros-workspace","ros2-distro-mutex ==0.5 jazzy","sqlite","__osx >=11.0","libcxx >=17","numpy >=1.26.4,<2.0a0","python_abi 3.12.* *_cp312","ros2-distro-mutex >=0.5.0,<0.6.0a0","libsqlite >=3.46.0,<4.0a0"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719141115896,"md5":"e37806e33837a2937d048e668ff80167","name":"ros-jazzy-sqlite3-vendor","requires":[],"size":21994,"version":"0.26.3","binstar":{"package_id":"6674a34ffce8b5e8a96af057","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"13e27d0901964d8a41de5b06c125690a523a39f992ef5874635d7ca4c77292c1"},"ros-jazzy-mcap-vendor-0.26.3-np126py312haf9abe2_0.conda":{"operatingsystem":"darwin","machine":"arm64","target-triplet":"arm64-any-darwin","has_prefix":false,"subdir":"osx-arm64","arch":"arm64","build":"np126py312haf9abe2_0","build_number":0,"depends":["python 3.12.* *_cpython","ros-jazzy-liblz4-vendor","ros-jazzy-ros-workspace","ros-jazzy-zstd-vendor","ros2-distro-mutex ==0.5 jazzy","libcxx >=17","__osx >=11.0","numpy >=1.26.4,<2.0a0","ros2-distro-mutex >=0.5.0,<0.6.0a0","python_abi 3.12.* *_cp312"],"license":"BSD-3-Clause","platform":"osx","timestamp":1719166530894,"md5":"152d7308ba04d5d4079b31356db5625b","name":"ros-jazzy-mcap-vendor","requires":[],"size":164368,"version":"0.26.3","binstar":{"package_id":"6674a3f7b4d9bfd6ec579457","owner_id":"667486a72acfb986e6e822d4","channel":"main"},"sha256":"704a7077fc37659660eabeb162ae11aaa679087c1f40347abd532bba3bf7cf8c"}},"info":{"default_numpy_version":"1.7","default_python_version":"2.7","platform":"osx","arch":"arm64","subdir":"osx-arm64"}} \ No newline at end of file