changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra > pod / Containerfile.box

changeset 0: 98aa8d30816a
child: 0d37b97f681e
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 14 Jun 2024 19:15:37 +0000
permissions: -rw-r--r--
description: init
1 FROM localhost/archlinux:latest
2 RUN --network=host pacman -Sy uutils-coreutils sysstat iotop imagemagick giflib libgccjit libxaw snappy sbcl liburing libxkbcommon --noconfirm
3 # custom
4 ARG DEV=dev
5 ARG DEV_HOME=/home/${DEV}
6 ARG ID=808
7 # stage0
8 RUN mkdir -p /usr/share/lisp /usr/local/share/lisp
9 WORKDIR /usr/local/src
10 RUN hg clone https://vc.compiler.company/comp/infra
11 RUN hg clone https://vc.compiler.company/comp/core
12 WORKDIR infra
13 ENV CARGO_HOME="/usr/local/share/cargo"
14 ENV RUSTUP_HOME="/usr/local/share/rustup"
15 # stage1
16 RUN ./bootstrap.sh
17 ENV PATH="$PATH:/usr/local/share/cargo/bin"
18 RUN .stash/bin/sk make rustup
19 RUN rustup update
20 # dev rustc components
21 RUN rustup default nightly
22 RUN rustup component add --toolchain nightly rust-src rust-analyzer rustc-dev llvm-tools-preview
23 RUN .stash/bin/sk make sbcl
24 RUN .stash/bin/sk make quicklisp
25 RUN .stash/bin/sk make sbcl-install
26 RUN .stash/bin/sk make tree-sitter
27 RUN .stash/bin/sk make tree-sitter-langs
28 RUN .stash/bin/sk make emacs-mini
29 RUN .stash/bin/sk make emacs-install
30 RUN .stash/bin/sk make rocksdb
31 RUN .stash/bin/sk make rocksdb-install
32 #ADD etc/sbclrc /etc/sbclrc
33 #COPY etc/skel/ /etc/skel/
34 #ADD etc/shells /etc/
35 RUN useradd --system -s /usr/bin/bash -u ${ID} -k /etc/skel -m ${DEV}
36 RUN groupadd -g 128 engineer -U ${DEV}
37 RUN groupadd -g 256 operator -U ${DEV}
38 # RUN make core-install
39 WORKDIR /usr/local/src
40 RUN cp -rf core/lisp /usr/local/share/lisp/core
41 RUN rm -rf ./*
42 RUN chown -R ${DEV}:engineer /usr/local/share/
43 RUN chown -R ${DEV}:engineer /usr/local/src/
44 RUN chown -R ${DEV}:engineer /usr/local/bin/
45 RUN chown -R ${DEV}:engineer /usr/local/etc/
46 RUN chown -R ${DEV}:engineer /usr/local/man/
47 USER ${DEV}
48 WORKDIR ${DEV_HOME}
49 RUN hg clone https://vc.compiler.company/comp/infra
50 RUN hg clone https://vc.compiler.company/comp/core
51 ENV DEV=${DEV}
52 ENV DEV_ID=${ID}