Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
2a9afa5b25 | |||
50e1a663c8 | |||
bbb8dd9646 |
18 changed files with 113 additions and 33 deletions
|
@ -34,4 +34,4 @@ COPY --from=build /opt/myriad .
|
|||
|
||||
EXPOSE 8081
|
||||
|
||||
ENTRYPOINT ["./myriad"]
|
||||
CMD ["./myriad"]
|
|
@ -16,4 +16,4 @@ COPY --from=build /tmp/myriad .
|
|||
|
||||
EXPOSE 8081
|
||||
|
||||
ENTRYPOINT ["./myriad"]
|
||||
CMD ["./myriad"]
|
9
languages/arnoldc/Dockerfile
Normal file
9
languages/arnoldc/Dockerfile
Normal file
|
@ -0,0 +1,9 @@
|
|||
FROM openjdk:17-alpine
|
||||
LABEL author="SunRed"
|
||||
|
||||
RUN apk add --no-cache curl && \
|
||||
curl -O http://lhartikk.github.io/ArnoldC.jar && \
|
||||
mv ArnoldC.jar /var/run && \
|
||||
apk del --no-cache curl
|
||||
|
||||
COPY run.sh /var/run/
|
2
languages/arnoldc/run.sh
Normal file
2
languages/arnoldc/run.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
cat > program.arnoldc
|
||||
java -jar /var/run/ArnoldC.jar program.arnoldc && java program
|
|
@ -1,12 +1,12 @@
|
|||
FROM alpine AS build
|
||||
|
||||
RUN apk update && apk add g++
|
||||
COPY bf.cpp .
|
||||
RUN apk add --no-cache g++ && \
|
||||
g++ bf.cpp -o bf
|
||||
RUN g++ bf.cpp -o bf
|
||||
|
||||
FROM alpine
|
||||
LABEL author="1Computer1"
|
||||
|
||||
RUN apk add --no-cache libstdc++
|
||||
RUN apk update && apk add libstdc++
|
||||
COPY --from=build bf /usr/local/bin/
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
FROM alpine
|
||||
LABEL author="1Computer1"
|
||||
|
||||
RUN apk add --no-cache gcc libc-dev
|
||||
RUN apk update
|
||||
RUN apk add gcc libc-dev
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
FROM alpine
|
||||
LABEL author="1Computer1"
|
||||
|
||||
RUN apk add --no-cache g++
|
||||
RUN apk update
|
||||
RUN apk add g++
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
57
languages/emojicode/Dockerfile
Normal file
57
languages/emojicode/Dockerfile
Normal file
|
@ -0,0 +1,57 @@
|
|||
FROM debian:stable-slim as build
|
||||
|
||||
ENV CC clang-8
|
||||
ENV CXX clang++-8
|
||||
ENV DEBIAN_FRONTEND=nontinteractive
|
||||
ENV PYTHONIOENCODING utf8
|
||||
|
||||
RUN \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
gnupg \
|
||||
wget && \
|
||||
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main" >> /etc/apt/sources.list && \
|
||||
echo "deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main" >> /etc/apt/sources.list && \
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
clang-8 \
|
||||
cmake \
|
||||
libstdc++-8-dev \
|
||||
libclang1-8 \
|
||||
libclang-8-dev \
|
||||
libclang-common-8-dev \
|
||||
libfuzzer-8-dev \
|
||||
libllvm8 \
|
||||
libncurses-dev \
|
||||
libz-dev \
|
||||
llvm-8 \
|
||||
llvm-8-dev \
|
||||
llvm-runtime \
|
||||
ninja-build \
|
||||
python3 \
|
||||
rsync \
|
||||
git && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
mkdir /tmp/emojicode/
|
||||
|
||||
WORKDIR /tmp/emojicode/
|
||||
RUN git clone https://github.com/emojicode/emojicode.git .
|
||||
RUN cmake . -GNinja && \
|
||||
ninja && \
|
||||
ninja magicinstall
|
||||
|
||||
|
||||
FROM debian:stable-slim
|
||||
LABEL author="SunRed"
|
||||
|
||||
ENV CXX=g++
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y ${CXX} && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get autoclean -y
|
||||
|
||||
COPY --from=build /usr/local/bin /usr/local/bin
|
||||
COPY --from=build /usr/local/EmojicodePackages /usr/local/EmojicodePackages
|
||||
COPY run.sh /var/run/
|
2
languages/emojicode/run.sh
Normal file
2
languages/emojicode/run.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
cat > program.emojic
|
||||
emojicodec program.emojic -o program && ./program
|
|
@ -1,17 +1,14 @@
|
|||
FROM debian:stable-slim
|
||||
FROM debian:stretch
|
||||
LABEL author="1Computer1"
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates && \
|
||||
echo 'deb https://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \
|
||||
apt-get install -y --no-install-recommends gnupg dirmngr && \
|
||||
echo 'deb http://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \
|
||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA3CBA3FFE22B574 && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends ghc-9.0.1 && \
|
||||
apt-get purge -y gnupg dirmngr ca-certificates && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get autoclean -y
|
||||
apt-get install -y --no-install-recommends ghc-8.6.5
|
||||
|
||||
ENV PATH /opt/ghc/9.0.1/bin:$PATH
|
||||
ENV PATH /opt/ghc/8.6.5/bin:$PATH
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -2,7 +2,6 @@ FROM alpine:latest
|
|||
|
||||
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
|
||||
apk update && \
|
||||
apk add idris@testing && \
|
||||
rm -rf /var/cache/apk/*
|
||||
apk add idris@testing
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM openjdk:17-alpine
|
||||
FROM openjdk:13-alpine
|
||||
LABEL author="1Computer1"
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -1 +1 @@
|
|||
cat | node
|
||||
cat | node -p
|
||||
|
|
15
languages/lolcode/Dockerfile
Normal file
15
languages/lolcode/Dockerfile
Normal file
|
@ -0,0 +1,15 @@
|
|||
FROM alpine as build
|
||||
|
||||
RUN apk add --no-cache build-base git cmake
|
||||
|
||||
WORKDIR /tmp/lci
|
||||
RUN git clone https://github.com/justinmeza/lci.git .
|
||||
|
||||
RUN cmake . && make
|
||||
|
||||
|
||||
FROM alpine
|
||||
LABEL author="SunRed"
|
||||
|
||||
COPY --from=build /tmp/lci/lci /usr/local/bin
|
||||
COPY run.sh /var/run/
|
2
languages/lolcode/run.sh
Normal file
2
languages/lolcode/run.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
cat > program.lol
|
||||
lci program.lol
|
|
@ -1,5 +1,6 @@
|
|||
FROM alpine
|
||||
|
||||
RUN apk add --no-cache lua5.3
|
||||
RUN apk update
|
||||
RUN apk add lua5.3
|
||||
|
||||
COPY run.sh /var/run/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cat > program.ts
|
||||
tsc --lib DOM,ESNext --target ES2019 --strict \
|
||||
--skipLibCheck --types /usr/local/share/.config/yarn/global/node_modules/@types/node program.ts \
|
||||
&& cat program.js | node
|
||||
&& cat program.js | node -p
|
||||
|
|
|
@ -40,19 +40,13 @@ data EvalResult
|
|||
buildImage :: Language -> Myriad ()
|
||||
buildImage lang = do
|
||||
env <- ask
|
||||
logInfo ["Checking for image ", cs $ imageName lang]
|
||||
res <- try $ exec ["docker images -q ", imageName lang]
|
||||
case res of
|
||||
Left (SomeException err) -> logError ["An exception occured when checking for image ", cs $ imageName lang, ":\n", cs $ show err]
|
||||
Right s -> do
|
||||
when (BL.null s) . void $ do -- If string is empty that means the image does not yet exist
|
||||
logInfo ["Building image ", cs $ imageName lang]
|
||||
exec_ ["docker build -t ", imageName lang, " ", cs (env ^. #languagesDir) </> cs (lang ^. #name)]
|
||||
logInfo ["Built image ", cs $ imageName lang]
|
||||
setupQSems
|
||||
when (env ^. #config % #prepareContainers) . void $ setupContainer lang
|
||||
logInfo ["Building image ", cs $ imageName lang]
|
||||
exec_ ["docker build -t ", imageName lang, " ", cs (env ^. #languagesDir) </> cs (lang ^. #name)]
|
||||
setupQSems
|
||||
logInfo ["Built image ", cs $ imageName lang]
|
||||
when (env ^. #config % #prepareContainers) . void $ setupContainer lang
|
||||
where
|
||||
setupQSems :: Myriad ()
|
||||
setupQSems :: Myriad ()
|
||||
setupQSems = do
|
||||
env <- ask
|
||||
csem <- newQSem 1 -- We only want one container to be set up at a time
|
||||
|
|
Loading…
Reference in a new issue