ohos-sys 0.9.0

Bindings to the native API of OpenHarmony OS
Documentation
# The OpenHarmony SDK ships an x86_64 Linux LLVM toolchain (used by
# scripts/ci_link_check.sh), so pin to linux/amd64 even on arm64 hosts —
# Apple-Silicon users will run this under Rosetta/qemu.
FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/rust:1-bookworm

ARG SDK_VERSION=v6.1

ENV OHOS_SDK_NATIVE=/opt/ohos-sdk/linux/native \
    DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      ca-certificates \
      curl \
      jq \
      unzip \
      xz-utils \
      git \
      pkg-config \
      build-essential \
      clang \
      libclang-dev \
 && rm -rf /var/lib/apt/lists/*

COPY install-sdk.sh /usr/local/bin/install-sdk.sh
RUN chmod +x /usr/local/bin/install-sdk.sh \
 && SDK_VERSION="${SDK_VERSION}" /usr/local/bin/install-sdk.sh \
 && chmod -R a+rX /opt/ohos-sdk

# Toolchains are installed for the non-root user that VS Code attaches as.
USER vscode
RUN rustup toolchain install nightly --profile minimal --component rustfmt \
 && rustup component add rustfmt clippy \
 && rustup target add aarch64-unknown-linux-ohos armv7-unknown-linux-ohos x86_64-unknown-linux-ohos