-
Notifications
You must be signed in to change notification settings - Fork 6
/
Dockerfile-gui
77 lines (76 loc) · 3.35 KB
/
Dockerfile-gui
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# This docker container is meant for debugging mu4e-views with different mu versions in gui environment
# A typical use case is to start a container with your local development version of mu4e-views
# E.g., from your local mu4e-views git repo: docker run -ti --rm -v $(pwd):/mu4e-views mu4e-views-test /bin/bash
# There are scripts to start emacs with a particular mu version, e.g., ./emu-master.sh or ./emu-1.4.13.sh
# To build the docker image copy some valid Maildir to ./Maildir and run "docker build -t mu4e-views-test ."
# If you need to test with a different version, then add it to VERSIONS="1.3.10 1.4.13 master" in dockerfiles/build-mu.sh
FROM dorowu/ubuntu-desktop-lxde-vnc:latest
########################################
# Install packages and emacs
########################################
RUN rm /etc/apt/sources.list.d/google-chrome.list*
RUN add-apt-repository -y ppa:kelleyk/emacs
RUN apt-get update && apt-get -y --no-install-recommends install \
autoconf-archive \
automake \
autotools-dev \
emacs27 \
g++ \
gcc \
git \
isync \
libglib2.0-dev \
libgmime-3.0-dev \
libtool \
libxapian-dev \
m4 \
make \
pkg-config \
texinfo \
libgtk-3-dev \
libwebkit2gtk-4.0-dev \
meson \
ninja-build \
&& rm -rf /var/lib/apt/lists/*
########################################
# get mu src
########################################
RUN git clone https://github.com/djcb/mu /mu-src
########################################
# Copy Maildir
########################################
COPY ./Maildir /Maildir
########################################
# Copy build script and build mu versions
########################################
RUN rm -rf /mu-src && git clone https://github.com/djcb/mu /mu-src
COPY ./dockerfiles/build-mu.sh /
RUN chmod 744 /build-mu.sh && /build-mu.sh
RUN apt-get update && apt-get -y --no-install-recommends install python3-pip
RUN pip3 install --no-cache-dir --upgrade meson==1.0.1
RUN echo "export PATH=~/.local/bin/:$PATH" >> /root/.profile \
&& echo "export PATH=~/.local/bin/:$PATH" >> /root/.bashrc
COPY ./dockerfiles/build-new-mu.sh /
RUN chmod 744 /build-new-mu.sh && /build-new-mu.sh
########################################
# Copy mu4e-views repo
########################################
COPY . /mu4e-views
RUN find /mu4e-views -name \*.elc -execdir rm {} \;
########################################
# Make sure emacs packages we need are installed
########################################
COPY ./dockerfiles/network-security.data /root/.emacs.d/network-security.data
COPY ./dockerfiles/gnupg /root/.emacs.d/elpa/gnupg
#RUN MUVER=1.6.4 emacs --batch -l /mu4e-views/testconfig/test-file.el
########################################
# Set workdir
########################################
WORKDIR /home/ubuntu
########################################
# Expose VNC port
########################################
EXPOSE 5900
## Local Variables:
## mode: dockerfile
## End: