This commit is contained in:
retropikzel 2026-01-21 17:39:30 +02:00
parent 671e92acd6
commit 458e277eec
2 changed files with 6 additions and 4 deletions

View File

@ -23,7 +23,7 @@ ARG SCHEME=chibi
ARG IMAGE=${SCHEME}:head ARG IMAGE=${SCHEME}:head
FROM schemers/${IMAGE} FROM schemers/${IMAGE}
RUN apt-get update && apt-get install -y make gcc libffi-dev libcurl4 gauche \ RUN apt-get update && apt-get install -y make gcc libffi-dev libcurl4 gauche \
netcat-traditional ca-certificates curl netcat-openbsd ca-certificates curl
RUN mkdir ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm RUN mkdir ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
COPY --from=build /build /build COPY --from=build /build /build
ARG SCHEME=chibi ARG SCHEME=chibi
@ -42,6 +42,8 @@ RUN snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)"
RUN snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)" RUN snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)"
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)" RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)"
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)" RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)"
RUN snow-chibi install --impls=${SCHEME} --always-yes --install-source-dir=. --install-library-dir=. "(foreign c)"
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)"
RUN make SCHEME=${SCHEME} build install RUN make SCHEME=${SCHEME} build install
WORKDIR /workdir WORKDIR /workdir
RUN cp -r /build/foreign-c-libraries/retropikzel retropikzel/ RUN cp -r /build/foreign-c-libraries/retropikzel retropikzel/

View File

@ -36,7 +36,7 @@ test-r7rs: tmpdir
cd ${TMPDIR} && echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (foreign c) (srfi ${SRFI}) (srfi 64))" > test-r7rs.scm cd ${TMPDIR} && echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (foreign c) (srfi ${SRFI}) (srfi 64))" > test-r7rs.scm
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r7rs.scm cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r7rs.scm
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
cd ${TMPDIR} && printf "\n" | ./test-r7rs cd ${TMPDIR} && printf "\n" | timeout 60 ./test-r7rs
test-r7rs-docker: test-r7rs-docker:
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test . docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test .
@ -45,9 +45,9 @@ test-r7rs-docker:
test-r6rs: tmpdir test-r6rs: tmpdir
cd ${TMPDIR} && echo "(import (rnrs) (foreign c) (srfi :${SRFI}) (srfi :64))" > test-r6rs.sps cd ${TMPDIR} && echo "(import (rnrs) (foreign c) (srfi :${SRFI}) (srfi :64))" > test-r6rs.sps
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r6rs.sps cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r6rs.sps
cd ${TMPDIR} && akku install chez-srfi akku-r7rs #"(foreign c)" "(retropikzel shell)" cd ${TMPDIR} && akku install chez-srfi akku-r7rs "(foreign c)"
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I .akku/lib -o test-r6rs test-r6rs.sps cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I .akku/lib -o test-r6rs test-r6rs.sps
cd ${TMPDIR} && ./test-r6rs cd ${TMPDIR} && timeout 60 ./test-r6rs
test-r6rs-docker: test-r6rs-docker:
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test . docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test .