2024-08-08 07:47:42 +00:00
|
|
|
FROM scratch AS base
|
2024-03-28 00:38:03 +00:00
|
|
|
ENV VERSION=15
|
|
|
|
ENV SRC_HASH=368fa8dfb0775589e3f85d34df18395c22980de8520dc6447e778fc1d0102787
|
|
|
|
ENV SRC_FILE=v${VERSION}.tar.gz
|
|
|
|
ENV SRC_SITE=https://github.com/projg2/gpep517/archive/v${VERSION}/${SRC_FILE}
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM base AS fetch
|
2024-03-28 00:38:03 +00:00
|
|
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM fetch AS install
|
2024-03-28 00:38:03 +00:00
|
|
|
COPY --from=stagex/busybox . /
|
|
|
|
COPY --from=stagex/musl . /
|
|
|
|
COPY --from=stagex/python . /
|
|
|
|
COPY --from=stagex/zlib . /
|
|
|
|
RUN tar -xzf ${SRC_FILE}
|
2024-08-26 01:18:52 +00:00
|
|
|
WORKDIR /gpep517-${VERSION}
|
2024-03-28 00:38:03 +00:00
|
|
|
COPY <<-'EOF' gpep517-cli
|
|
|
|
#!/usr/bin/python3
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import sys
|
|
|
|
from gpep517.__main__ import main
|
|
|
|
if __name__ == "__main__":
|
|
|
|
sys.exit(main())
|
|
|
|
EOF
|
2024-04-11 20:09:20 +00:00
|
|
|
RUN --network=none <<-EOF
|
2024-03-28 00:38:03 +00:00
|
|
|
set -eu
|
|
|
|
sitedir="$(python3 -c 'import site;print(site.getsitepackages()[0])')"
|
|
|
|
mkdir -p "/rootfs/${sitedir}"
|
|
|
|
cp -a gpep517 "/rootfs/$sitedir"
|
|
|
|
python3 -m compileall "/rootfs/$sitedir"
|
|
|
|
install -Dm755 gpep517-cli /rootfs/usr/bin/gpep517
|
|
|
|
find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
|
|
|
|
EOF
|
|
|
|
|
2024-08-08 07:47:42 +00:00
|
|
|
FROM stagex/filesystem AS package
|
2024-03-28 00:38:03 +00:00
|
|
|
COPY --from=install /rootfs/. /
|