Skip to content

Commit

Permalink
Patch cargo toolchain for noble (#136)
Browse files Browse the repository at this point in the history
* Patch cargo toolchain for noble

Signed-off-by: Yadunund <[email protected]>

* Add tmp build for noble job

Signed-off-by: Yadunund <[email protected]>

* Try to fix iron

Signed-off-by: Yadunund <[email protected]>

* Patch even for iron builds

Signed-off-by: Yadunund <[email protected]>

* Force build with 1.75.0 on jammy

Signed-off-by: Yadunund <[email protected]>

* Update zenoh_c_vendor/CMakeLists.txt

Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Yadu <[email protected]>

* Update zenoh_c_vendor/CMakeLists.txt

Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Yadu <[email protected]>

* Update zenoh_c_vendor/CMakeLists.txt

Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Yadu <[email protected]>

* Patch zenoh-c based on cargo toolchain availability

Signed-off-by: Yadunund <[email protected]>

* Make patch from zenoh-c PR #301

Signed-off-by: Yadunund <[email protected]>

---------

Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadu <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
  • Loading branch information
Yadunund and clalancette authored Apr 2, 2024
1 parent 290b37a commit eac1d84
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 4 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
docker_image: ['ros:iron-ros-base', 'ros:rolling-ros-base']
container:
Expand All @@ -21,7 +22,7 @@ jobs:
run: |
apt update && apt install -y curl
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
uses: dtolnay/rust-toolchain@1.75.0
- uses: actions/checkout@v2
- name: rosdep
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/style.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
docker_image: ['ros:iron-ros-base', 'ros:rolling-ros-base']
container:
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/tmp_build_noble.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: build_noble
on:
pull_request:
push:
branches: [ rolling ]
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
docker_image: ['ubuntu:noble-20240225']
container:
image: ${{ matrix.docker_image }}
timeout-minutes: 30
steps:
- name: Setup rolling
run: |
apt update && apt install curl -y
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null
apt update && apt install ros-dev-tools -y
apt install ros-rolling-ros-base -y
- uses: actions/checkout@v2
- name: rosdep
run: |
rosdep init
rosdep update
rosdep install --from-paths . --rosdistro rolling -yir
- name: build
run: |
source /opt/ros/rolling/setup.bash
colcon build
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ For information about the Design please visit [design](docs/design.md) page.

## Setup

Install latest rustc.
> Note: The version of rustc that can be installed via apt is outdated.
Install latest rustc via `rustup` if building on Ubuntu Jammy.
Skip this step if building on Ubuntu Noble as `cargo` and `rustc` will be
installed via `rosdep`.
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup install 1.75.0
```

Build `rmw_zenoh_cpp`
Expand Down
3 changes: 3 additions & 0 deletions zenoh_c_vendor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ set(ZENOHC_CARGO_FLAGS "--no-default-features$<SEMICOLON>--features=zenoh/transp

# Set VCS_VERSION to include changes from https://github.com/eclipse-zenoh/zenoh/pull/802
# which was synced to zenoh-c in https://github.com/eclipse-zenoh/zenoh-c/pull/272.
# Apply patches:
# - https://github.com/eclipse-zenoh/zenoh-c/pull/301
ament_vendor(zenoh_c_vendor
VCS_URL https://github.com/eclipse-zenoh/zenoh-c.git
VCS_VERSION 10176b911096cb92b8ee46bc491b78079ee26c20
CMAKE_ARGS
"-DZENOHC_CARGO_FLAGS=${ZENOHC_CARGO_FLAGS}"
PATCHES patches
)

# set(INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-prefix/install")
Expand Down
2 changes: 1 addition & 1 deletion zenoh_c_vendor/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>ament_cmake_vendor_package</buildtool_depend>

<!-- <build_depend>cargo</build_depend> -->
<build_depend>cargo</build_depend>
<build_depend>clang</build_depend>

<export>
Expand Down
24 changes: 24 additions & 0 deletions zenoh_c_vendor/patches/pr_301.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00aa5ca..d236e99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,7 +27,7 @@ declare_cache_var_true_if_vscode(ZENOHC_BUILD_IN_SOURCE_TREE "Do build inside so
declare_cache_var(ZENOHC_BUILD_WITH_LOGGER_AUTOINIT TRUE BOOL "Enable logger-autoinit zenoh-c feature")
declare_cache_var(ZENOHC_BUILD_WITH_SHARED_MEMORY TRUE BOOL "Enable shared-memory zenoh-c feature")
declare_cache_var(ZENOHC_CUSTOM_TARGET "" STRING "Rust target for cross compilation, 'aarch64-unknown-linux-gnu' for example")
-declare_cache_var(ZENOHC_CARGO_CHANNEL "stable" STRING "Cargo channel selected: stable or nightly")
+declare_cache_var(ZENOHC_CARGO_CHANNEL "" STRING "Cargo channel parameter. Should be '+stable', '+nightly' or empty value")
declare_cache_var(ZENOHC_CARGO_FLAGS "" STRING "Additional cargo flags")
declare_cache_var(ZENOHC_LIB_STATIC FALSE BOOL "Alias zenohc::lib target to zenohc::static if TRUE, to zenohc::shared if FALSE")

@@ -198,8 +198,8 @@ file(GLOB_RECURSE rust_sources "Cargo.toml.in" "src/*.rs" "build.rs" "splitguide
add_custom_command(
OUTPUT ${libs}
COMMAND ${CMAKE_COMMAND} -E echo \"RUSTFLAGS = $$RUSTFLAGS\"
- COMMAND ${CMAKE_COMMAND} -E echo \"cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\"
- COMMAND cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}
+ COMMAND ${CMAKE_COMMAND} -E echo \"cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\"
+ COMMAND cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}
VERBATIM
COMMAND_EXPAND_LISTS
DEPENDS "${rust_sources}"

0 comments on commit eac1d84

Please sign in to comment.