# 优化版（2026-09-24）：解决清华源限流下每次构建重下 torch 的问题。
# 要点：
#  1. pyproject build-system.requires 含 torch==2.13.0，pip 隔离构建环境每次都重下 ~6GB。
#     基底镜像已装 torch 2.13 → 用 --no-build-isolation 复用，构建环境零下载。
#  2. 基底缺 setuptools-scm（版本打戳要用），单层预装 + pip cache mount，只下载一次。
#  3. RUN 的 pip cache mount 持久化在宿主机，依赖解析命中的包不再重复下载。
FROM uhub.service.ucloud.cn/umirror/sglang:dev-dsv41

ARG PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
ENV PIP_INDEX_URL=${PIP_INDEX}

# 构建后端（pyproject build-system.requires，torch 除外——基底已有）
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install "setuptools>=61" "setuptools-scm>=8" "setuptools-rust>=1.11" wheel

# 整个源码树（含 .git，用于 setuptools-scm 版本打戳）
COPY sglang/ /sgl-workspace/sglang/

# editable 安装，全量依赖解析（pyproject.toml 变化时走这个）
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install --no-build-isolation -e /sgl-workspace/sglang/python
