FROM ubuntu:22.04 AS ouster-sdk-base

ARG OUSTER_SDK=ouster-sdk

# NOTE: setting this after switching to ubuntu based image
ENV DEBIAN_FRONTEND=noninteractive

RUN echo "OUSTER_SDK: ${OUSTER_SDK}"

RUN apt-get update && apt-get install -y \
    build-essential \
    cmake \
    git \
    curl \
    libgl1-mesa-glx \
    libeigen3-dev \
    libflatbuffers-dev \
    libtins-dev \
    libpcap-dev \
    libcurl4-openssl-dev \
    libglfw3-dev \
    libpng-dev \
    libtbb-dev \
    robin-map-dev \
    libceres-dev \
    libzstd-dev \
    libzip-dev \
    libssl-dev \
    python3 \
    python3-pip \
    python3-setuptools \
    python3-dev

RUN pip install --upgrade pip && \
    pip install waitress

FROM ouster-sdk-base AS ouster-sdk-public
RUN echo "Installing ouster-sdk from pypi.org" && \
    pip install ${OUSTER_SDK}


FROM ouster-sdk-base AS ouster-sdk-local
ARG OUSTER_SDK
COPY ${OUSTER_SDK} /ouster-sdk
RUN echo "Installing a local ouster-sdk" && \
    rm -rf /ouster-sdk/python/build/* && \
    pip install -e /ouster-sdk/python/
