tyler 0.4.1

Create tiles from 3D city objects encoded as CityJSONFeatures.
FROM rust:1-bookworm AS builder

USER root

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    ca-certificates \
    clang-15 \
    cmake \
    libsqlite3-dev \
    pkg-config \
    proj-data \
    unzip \
    wget \
    sqlite3 && \
    rm -rf /var/lib/apt/lists/*

# Download Dutch transformation grids
RUN mkdir -p /usr/local/share/proj && \
    cp -a /usr/share/proj/. /usr/local/share/proj/ && \
    wget https://cdn.proj.org/nl_nsgi_nlgeo2018.tif -O /usr/local/share/proj/nl_nsgi_nlgeo2018.tif && \
    wget https://cdn.proj.org/nl_nsgi_rdtrans2018.tif -O /usr/local/share/proj/nl_nsgi_rdtrans2018.tif

WORKDIR /usr/src/tyler
COPY Cargo.toml Cargo.lock ./
COPY cityjson-convert ./cityjson-convert
COPY resources ./resources
COPY src ./src
COPY proj ./proj
RUN --mount=type=cache,target=/usr/src/tyler/target cargo install --path .

COPY docker/strip-docker-image-export ./
RUN rm -rf /export
RUN mkdir /export && \
    bash ./strip-docker-image-export \
    -v \
    -d /export \
    -f /usr/local/share/proj/proj.db \
    -f /usr/local/cargo/bin/tyler

FROM ubuntu:noble-20260410
ARG VERSION
LABEL org.opencontainers.image.authors="Balázs Dukai <balazs.dukai@3dgi.nl>"
LABEL org.opencontainers.image.vendor="3DGI"
LABEL org.opencontainers.image.title="tyler"
LABEL org.opencontainers.image.description="Create tiles from 3D city objects encoded as CityJSON."
LABEL org.opencontainers.image.version=$VERSION
LABEL org.opencontainers.image.license="(APACHE-2.0 AND GPL-3 AND AGPL-3)"

RUN apt-get update && apt-get install -y --no-install-recommends \
    libc6 \
    libproj-dev \
    && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/local/share/proj /usr/local/share/proj
COPY --from=builder /export/usr/local/cargo/bin/tyler /usr/local/bin/tyler

# Update library links
RUN ldconfig
CMD ["tyler"]