Dockerfile fixes. Pass the arguments in linux interpreter scripts.
This commit is contained in:
parent
4e818b2739
commit
b6bd1451aa
14
Dockerfile
14
Dockerfile
|
@ -9,16 +9,16 @@ RUN apt-get update && apt-get install -y \
|
||||||
pandoc \
|
pandoc \
|
||||||
chicken-bin \
|
chicken-bin \
|
||||||
libc-dev
|
libc-dev
|
||||||
RUN mkdir -p /opt/compile-r7rs
|
|
||||||
RUN mkdir -p /opt/compile-r7rs/bin
|
|
||||||
RUN mkdir -p /opt/compile-r7rs/lib
|
|
||||||
RUN chicken-install r7rs
|
RUN chicken-install r7rs
|
||||||
WORKDIR /builddir
|
WORKDIR /build
|
||||||
COPY Makefile .
|
|
||||||
COPY compile-r7rs.scm .
|
|
||||||
COPY libs/ libs/
|
|
||||||
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
|
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
|
||||||
RUN cd chibi-scheme && make -j 32 && make -j 32 install
|
RUN cd chibi-scheme && make -j 32 && make -j 32 install
|
||||||
|
ENV SCHEME=chicken
|
||||||
|
RUN snow-chibi --impls=${SCHEME} --always-yes install "(foreign c)"
|
||||||
|
RUN snow-chibi --impls=${SCHEME} --always-yes install "(srfi 170)"
|
||||||
|
COPY Makefile .
|
||||||
|
COPY compile-r7rs.scm .
|
||||||
|
COPY libs libs
|
||||||
RUN make PREFIX=/opt/compile-r7rs build-chicken-static && make PREFIX=/opt/compile-r7rs install
|
RUN make PREFIX=/opt/compile-r7rs build-chicken-static && make PREFIX=/opt/compile-r7rs install
|
||||||
|
|
||||||
FROM debian:trixie-slim
|
FROM debian:trixie-slim
|
||||||
|
|
14
Makefile
14
Makefile
|
@ -9,18 +9,11 @@ endif
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
container:
|
build:
|
||||||
docker build -f Dockerfile.test --tag=compile-r7rs
|
|
||||||
|
|
||||||
build: deps
|
|
||||||
echo "#!/bin/sh" > compile-r7rs
|
echo "#!/bin/sh" > compile-r7rs
|
||||||
echo "chibi-scheme -A ${PREFIX}/lib/compile-r7rs ${PREFIX}/lib/compile-r7rs/main.scm \"\$$@\"" >> compile-r7rs
|
echo "chibi-scheme -A ${PREFIX}/lib/compile-r7rs ${PREFIX}/lib/compile-r7rs/main.scm \"\$$@\"" >> compile-r7rs
|
||||||
|
|
||||||
build-chicken-static: deps
|
build-chicken-static:
|
||||||
csc -R r7rs -X r7rs -I snow/foreign/c -static -c -J -unit foreign.c -o foreign.c.o deps/foreign-c/foreign/c.sld
|
|
||||||
ar rcs foreign.c.a foreign.c.o
|
|
||||||
csc -R r7rs -X r7rs -static -c -J -unit srfi-170 -o srfi-170.o deps/foreign-c-srfi-170/srfi/170.sld
|
|
||||||
ar rcs srfi-170.a srfi-170.o
|
|
||||||
csc -R r7rs -X r7rs -static -c -J -unit libs.util -o libs.util.o libs/util.sld
|
csc -R r7rs -X r7rs -static -c -J -unit libs.util -o libs.util.o libs/util.sld
|
||||||
ar rcs libs.util.a libs.util.o
|
ar rcs libs.util.a libs.util.o
|
||||||
csc -R r7rs -X r7rs -static -c -J -unit libs.library-util -o libs.library-util.o libs/library-util.sld
|
csc -R r7rs -X r7rs -static -c -J -unit libs.library-util -o libs.library-util.o libs/library-util.sld
|
||||||
|
@ -42,8 +35,7 @@ deps:
|
||||||
git clone https://git.sr.ht/~retropikzel/foreign-c-srfi-170 deps/foreign-c-srfi-170 --depth=1
|
git clone https://git.sr.ht/~retropikzel/foreign-c-srfi-170 deps/foreign-c-srfi-170 --depth=1
|
||||||
|
|
||||||
install:
|
install:
|
||||||
cd deps/foreign-c && make all install
|
mkdir -p ${PREFIX}/bin
|
||||||
cd deps/foreign-c-srfi-170 && make all install
|
|
||||||
mkdir -p ${PREFIX}/lib/compile-r7rs
|
mkdir -p ${PREFIX}/lib/compile-r7rs
|
||||||
cp -r libs ${PREFIX}/lib/compile-r7rs/
|
cp -r libs ${PREFIX}/lib/compile-r7rs/
|
||||||
cp compile-r7rs.scm ${PREFIX}/lib/compile-r7rs/main.scm
|
cp compile-r7rs.scm ${PREFIX}/lib/compile-r7rs/main.scm
|
||||||
|
|
|
@ -196,8 +196,7 @@
|
||||||
prepend-directories
|
prepend-directories
|
||||||
append-directories
|
append-directories
|
||||||
library-files
|
library-files
|
||||||
r6rs?))
|
r6rs?))))
|
||||||
(string #\newline)))
|
|
||||||
|
|
||||||
(define scheme-library-command
|
(define scheme-library-command
|
||||||
(lambda (library-file)
|
(lambda (library-file)
|
||||||
|
@ -275,7 +274,12 @@
|
||||||
(display "@echo off")
|
(display "@echo off")
|
||||||
(newline)
|
(newline)
|
||||||
(display "start")))
|
(display "start")))
|
||||||
(display scheme-command)))
|
(display scheme-command)
|
||||||
|
(cond ((string=? compilation-target "unix")
|
||||||
|
(display " \"")
|
||||||
|
(display "$@")
|
||||||
|
(display "\"")))
|
||||||
|
(newline)))
|
||||||
(cond ((string=? compilation-target "unix")
|
(cond ((string=? compilation-target "unix")
|
||||||
(c-system (string->c-utf8 (string-append "chmod +x " output-file))))))
|
(c-system (string->c-utf8 (string-append "chmod +x " output-file))))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue