Skip to content

Commit fc8600a

Browse files
committed
feat: dependencies building
1 parent 96a0a0e commit fc8600a

3 files changed

Lines changed: 37 additions & 3 deletions

File tree

alpine.dockerfile

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
ARG PLAT=musllinux_1_2_riscv64
33
ARG IMAGE=quay.io/pypa/${PLAT}:2026.02.01-1
44
ARG MACHINE_GUEST_TOOLS_VERSION=0.17.1-r1
5+
ARG MACHINE_ASSET_TOOLS_VERSION=0.1.0-alpha.7
6+
ARG MACHINE_ASSET_TOOLS_DEV_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_musl_riscv64_dev_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
7+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:63a7de3880e5695f86c6598bc53e4ee4924902436f90252d78b7798a5501ded5
58

69
FROM --platform=linux/riscv64 ${IMAGE} AS base
710

@@ -14,9 +17,23 @@ RUN apk update && \
1417
cartesi-machine-guest-libcmt-dev=${MACHINE_GUEST_TOOLS_VERSION} \
1518
build-base=0.5-r3
1619

20+
ARG MACHINE_ASSET_TOOLS_DEV_TAR
21+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM
22+
ADD --checksum=${MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM} ${MACHINE_ASSET_TOOLS_DEV_TAR} /tmp/cma.tar.gz
23+
RUN <<EOF
24+
set -e
25+
tar -xzf /tmp/cma.tar.gz -C /
26+
rm /tmp/cma.tar.gz
27+
EOF
28+
1729
FROM base AS builder
1830

19-
COPY . /opt/build
31+
ADD setup.py /opt/build/.
32+
ADD libcmt.pxd /opt/build/.
33+
ADD libcma.pxd /opt/build/.
34+
ADD pycma.pyx /opt/build/.
35+
36+
RUN sed -i 's#pycmt>=#pycmt@git+https://github.com/Mugen-Builders/libcmt-binding-python@v#' /opt/build/setup.py
2037

2138
ARG PLAT
2239
ENV PLAT=${PLAT}

build_wheels.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ function repair_wheel {
1414

1515
# Compile wheels
1616
for PYBIN in /opt/python/*/bin; do
17-
"${PYBIN}/pip3" wheel $project_path --no-deps -w wheelhouse/
17+
"${PYBIN}/pip3" wheel $project_path --no-deps -w wheelhouse/ --find-links https://prototyp3-dev.github.io/pip-wheels-riscv/wheels/
1818
done
1919

2020
# Bundle external shared libraries into the wheels

ubuntu.dockerfile

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ ARG PLAT=manylinux_2_39_riscv64
33
ARG IMAGE=quay.io/pypa/${PLAT}:2026.02.01-1
44
ARG MACHINE_GUEST_TOOLS_VERSION=0.17.2
55
ARG MACHINE_GUEST_TOOLS_SHA=4cabfd5cfd932367a5be35fa6c18a541f9044f04c48ffcb38bea3cebf88cc6a7
6+
ARG MACHINE_ASSET_TOOLS_VERSION=0.1.0-alpha.7
7+
ARG MACHINE_ASSET_TOOLS_DEV_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_glibc_riscv64_dev_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
8+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:8b3d55ceb148bd843e1210c3be5545fb0e9074fd5b02ecc32cf8bbddc32790f5
69

710
FROM --platform=linux/riscv64 ${IMAGE} AS base
811

@@ -16,9 +19,23 @@ ADD --checksum=sha256:${MACHINE_GUEST_TOOLS_SHA} \
1619
ARG DEBIAN_FRONTEND=noninteractive
1720
RUN tar zxvf /tmp/machine-guest-tools_riscv64.tar.gz -C /
1821

22+
ARG MACHINE_ASSET_TOOLS_DEV_TAR
23+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM
24+
ADD --checksum=${MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM} ${MACHINE_ASSET_TOOLS_DEV_TAR} /tmp/cma.tar.gz
25+
RUN <<EOF
26+
set -e
27+
tar -xzf /tmp/cma.tar.gz -C /
28+
rm /tmp/cma.tar.gz
29+
EOF
30+
1931
FROM base AS builder
2032

21-
COPY . /opt/build
33+
ADD setup.py /opt/build/.
34+
ADD libcmt.pxd /opt/build/.
35+
ADD libcma.pxd /opt/build/.
36+
ADD pycma.pyx /opt/build/.
37+
38+
RUN sed -i 's#pycmt>=#pycmt@git+https://github.com/Mugen-Builders/libcmt-binding-python@v#' /opt/build/setup.py
2239

2340
ARG PLAT
2441
ENV PLAT=${PLAT}

0 commit comments

Comments
 (0)