changelog shortlog graph tags branches changeset files file revisions raw help

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