This commit is contained in:
saces 2026-01-12 17:39:34 +01:00
parent 16f964f41d
commit 3bb4ee9def
14 changed files with 219 additions and 7 deletions

View file

@ -1,18 +1,23 @@
# syntax=docker/dockerfile:1
ARG GOLANG_VERSION=1.25
ARG GOLANG_VERSION=1.24
ARG DEBIAN_VERSION=trixie
ARG PYTHON_VERSION=3.14
FROM docker.io/library/golang:${GOLANG_VERSION}-${DEBIAN_VERSION} AS gobuilder
RUN --mount=type=bind,source=./libmxclient,target=/build <<EOF
cd /build
RUN --mount=type=bind,source=./libmxclient/go.mod,target=/libmxclient/build/go.mod --mount=type=bind,source=./libmxclient/go.sum,target=/libmxclient/build/go.sum <<EOF
cd /libmxclient/build
go mod download
EOF
RUN --mount=type=bind,source=./libmxclient,target=/libmxclient/build <<EOF
cd /libmxclient/build
CGO_ENABLED=1 GOARCH=${GOARCH} go build -buildmode=c-shared -o /pygomx-build/libmxclient.so .
EOF
FROM docker.io/library/python:${PYTHON_VERSION}-${DEBIAN_VERSION} AS pybuilder
ENV PYTHONUNBUFFERED=1
COPY --from=gobuilder /pygomx-build/libmxclient.so /usr/local/lib/libmxclient.so
COPY --from=gobuilder /pygomx-build/libmxclient.h /usr/local/include/libmxclient.h
@ -23,11 +28,11 @@ COPY pygomx /pygomx
RUN <<EOF
cd /pygomx
python3 build_ffi.py
ls -la
ls -lha
EOF
FROM docker.io/library/python:${PYTHON_VERSION}-${DEBIAN_VERSION}
ENV PYTHONUNBUFFERED=1
RUN pip install cffi
COPY --from=gobuilder /pygomx-build/libmxclient.so /usr/local/lib/