42 lines
1.3 KiB
Text
42 lines
1.3 KiB
Text
|
FROM scratch AS base
|
||
|
ENV VERSION=1.25.0
|
||
|
ENV SRC_HASH=7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262
|
||
|
ENV SRC_FILE=hatchling-${VERSION}.tar.gz
|
||
|
ENV SRC_SITE=https://files.pythonhosted.org/packages/source/h/hatchling/${SRC_FILE}
|
||
|
|
||
|
FROM base AS fetch
|
||
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
||
|
|
||
|
FROM fetch AS build
|
||
|
COPY --from=stagex/busybox . /
|
||
|
COPY --from=stagex/musl . /
|
||
|
COPY --from=stagex/zlib . /
|
||
|
COPY --from=stagex/openssl . /
|
||
|
COPY --from=stagex/python . /
|
||
|
COPY --from=stagex/gcc . /
|
||
|
COPY --from=stagex/binutils . /
|
||
|
COPY --from=stagex/make . /
|
||
|
COPY --from=stagex/cmake . /
|
||
|
COPY --from=stagex/libffi . /
|
||
|
COPY --from=stagex/py-installer . /
|
||
|
COPY --from=stagex/py-packaging . /
|
||
|
COPY --from=stagex/py-trove-classifiers . /
|
||
|
COPY --from=stagex/py-pathspec . /
|
||
|
COPY --from=stagex/py-pluggy . /
|
||
|
COPY --from=stagex/py-flit . /
|
||
|
COPY --from=stagex/py-wheel . /
|
||
|
COPY --from=stagex/py-gpep517 . /
|
||
|
RUN tar -xzf ${SRC_FILE}
|
||
|
WORKDIR hatchling-${VERSION}
|
||
|
RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
|
||
|
|
||
|
FROM build AS install
|
||
|
RUN --network=none <<-EOF
|
||
|
set -eux
|
||
|
python -m installer -d /rootfs .dist/*.whl
|
||
|
find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
|
||
|
EOF
|
||
|
|
||
|
FROM stagex/filesystem AS package
|
||
|
COPY --from=install /rootfs/. /
|