changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra / Containerfile.box

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