-
Notifications
You must be signed in to change notification settings - Fork 9
/
Dockerfile.code
33 lines (21 loc) · 1.31 KB
/
Dockerfile.code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
FROM ubuntu:22.04
MAINTAINER Peter Bui <pbui@nd.edu>
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y
# Run-time dependencies
RUN apt install -y python3-tornado python3-requests python3-yaml curl ca-certificates gnupg
# Language Support: C, C++, Python3, Bash, Ruby, Java, golang, Guile, Haskell, Common Lisp, C#, OCaml
RUN apt install -y gcc g++ python3 bash ruby default-jdk-headless golang guile-2.2 ghc sbcl mono-complete ocaml
# Language Support: rust
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain stable -y && mv /root/.cargo/bin/* /usr/local/bin/
# Language Support: Modern Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt update && apt install -y nodejs
# Language Support: Typescript
RUN npm install -g typescript ts-node @types/node
# Language Support: Swift
RUN curl -fsSL https://archive.swiftlang.xyz/swiftlang_repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/swiftlang_repo.gpg.key
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/swiftlang_repo.gpg.key] https://archive.swiftlang.xyz/ubuntu jammy main" | tee /etc/apt/sources.list.d/swiftlang.list > /dev/null
RUN apt update && apt install -y swiftlang
# Cleanup
RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*