-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathDockerfile.542
More file actions
56 lines (46 loc) · 1.66 KB
/
Dockerfile.542
File metadata and controls
56 lines (46 loc) · 1.66 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
wget \
build-essential \
libncursesw5-dev \
libcurl4-openssl-dev \
libssl-dev \
libexpat1-dev \
zlib1g-dev \
gettext \
automake \
man-db \
jq \
&& rm -rf /var/lib/apt/lists/*
# Build and install Git 2.17.0 from source (period-appropriate for Zsh 5.4.2, Jan 2018)
RUN wget -q https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.0.tar.xz \
&& tar -xf git-2.17.0.tar.xz \
&& cd git-2.17.0 \
&& make prefix=/usr -j$(nproc) \
&& make prefix=/usr install \
&& cd .. \
&& rm -rf git-2.17.0 git-2.17.0.tar.xz
# Install just
RUN wget -qO- https://just.systems/install.sh | bash -s -- --to /usr/local/bin
# Ubuntu minimal containers stub out /usr/bin/man; unminimize restores the real man
RUN yes | unminimize 2>/dev/null || true
# Build and install Zsh 5.4.2 from source
# config.guess/config.sub in the 5.4.2 tarball are from 2009 and don't know
# about aarch64, so we update them from automake before running configure.
RUN wget -q https://sourceforge.net/projects/zsh/files/zsh/5.4.2/zsh-5.4.2.tar.xz \
&& tar -xf zsh-5.4.2.tar.xz \
&& cp /usr/share/automake-*/config.guess zsh-5.4.2/ \
&& cp /usr/share/automake-*/config.sub zsh-5.4.2/ \
&& cd zsh-5.4.2 \
&& ./configure --with-tcsetpgrp \
&& make -j$(nproc) \
&& make install \
&& cd .. \
&& rm -rf zsh-5.4.2 zsh-5.4.2.tar.xz
# Install clitest
RUN git clone --depth=1 https://github.com/aureliojargas/clitest /opt/clitest
ENV PATH="/opt/clitest:$PATH"
ENV ZSH_BINARY="/usr/local/bin/zsh"
WORKDIR /workspace
CMD ["/usr/local/bin/zsh"]