safe_drive 0.4.3

safe_drive: Formally Specified Rust Bindings for ROS2
Documentation
FROM ubuntu:22.04

ENV TZ=Asia/Tokyo
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get -y update && \
    apt-get -y upgrade && \
    apt-get -y install build-essential zsh git curl libncurses5-dev gnupg clang

RUN apt-get -y install software-properties-common && \
    add-apt-repository universe

RUN apt-get -y update && \
    apt-get -y install lsb-core lsb-release && \
    curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | \
    tee /etc/apt/sources.list.d/ros2.list > /dev/null

RUN apt-get -y update && \
    apt-get -y install ros-iron-desktop python3-colcon-common-extensions python3-rosdep libclang-dev python3-pip python3-vcstool ros-iron-rmw-cyclonedds-cpp

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN . /root/.cargo/env && \
    cargo install bindgen-cli && \
    cargo install mdbook && \
    cargo install mdbook-mermaid && \
    cargo install --git https://github.com/tier4/ros2msg_to_rs.git

RUN pip install git+https://github.com/tier4/colcon-cargo.git && \
    pip install git+https://github.com/colcon/colcon-ros-cargo.git

COPY ../zshenv /root/.zshenv
COPY ../zshrc /root/.zshrc

ENTRYPOINT ["zsh"]