Skip to content

Commit

Permalink
Update CI to use Emacs 29
Browse files Browse the repository at this point in the history
The PPA hasn't updated, so we're resorting to snap.

I also shouldn't need the BMC LaTeX package any more, so let's get rid
of that too.

While I'm at it, I think this docker file could do with a bit of spring
cleaning too.
  • Loading branch information
tecosaur committed Feb 20, 2024
1 parent e1650af commit 891c98a
Showing 1 changed file with 23 additions and 28 deletions.
51 changes: 23 additions & 28 deletions .github/workflows/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,12 @@ MAINTAINER TEC <[email protected]>
ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive

RUN echo "\033[1;34mAdd Emacs PPA.\033[0m" &&\
apt-get update &&\
apt-get install -y apt-utils software-properties-common &&\
add-apt-repository -y ppa:kelleyk/emacs &&\
RUN echo "\033[1;34mUpdate apt repo.\033[0m" &&\
apt-get update

RUN echo "\033[1;34mUpdate.\033[0m" &&\
RUN echo "\033[1;34mTeX install.\033[0m" &&\
apt-get update &&\
## Modified version of https://github.com/thomasWeise/docker-texlive-full
# prevent doc and man pages from being installed
# the idea is based on https://askubuntu.com/questions/129566
echo "\033[1;34mPreventing doc and man pages from being installed.\033[0m" &&\
# Modified version of <https://github.com/thomasWeise/docker-texlive-full>
printf 'path-exclude /usr/share/doc/*\npath-include /usr/share/doc/*/copyright\npath-exclude /usr/share/man/*\npath-exclude /usr/share/groff/*\npath-exclude /usr/share/info/*\npath-exclude /usr/share/lintian/*\npath-exclude /usr/share/linda/*\npath-exclude=/usr/share/locale/*' > /etc/dpkg/dpkg.cfg.d/01_nodoc &&\
# remove doc files and man pages already installed
rm -rf /usr/share/groff/* /usr/share/info/* &&\
Expand All @@ -29,16 +23,7 @@ RUN echo "\033[1;34mUpdate.\033[0m" &&\
(find /usr/share/doc -type d -empty -delete || true) &&\
mkdir -p /usr/share/doc &&\
mkdir -p /usr/share/info &&\
echo "\033[1;34mInstalling utilities.\033[0m" &&\
apt-get install -y sudo git gcc sqlite sqlite3 wget ncurses-term ripgrep xclip &&\
echo "\033[1;34mInstalling Emacs\033[0m" &&\
# Emacs 28 (no-X)
apt-get install -y emacs28-nox &&\
echo "\033[1;34mInstalling cairosvg and curl (for emojis).\033[0m" &&\
apt-get install -y curl cairosvg &&\
echo "\033[1;34mInstalling TeX Live packages.\033[0m" &&\
# install TeX Live and ghostscript as well as other tools (inkscape for svg)
git clone https://github.com/tecosaur/BMC.git /usr/share/texmf/tex/latex/bmc &&\
apt-get install -y texlive-base texlive-latex-recommended texlive-fonts-extra latexmk inkscape &&\
# delete Tex Live sources and other potentially useless stuff
echo "\033[1;34mDelete TeX Live sources and other useless stuff.\033[0m" &&\
Expand All @@ -49,29 +34,39 @@ RUN echo "\033[1;34mUpdate.\033[0m" &&\
(rm -rf /usr/share/texlive/release-texlive.txt || true) &&\
(rm -rf /usr/share/texlive/doc.html || true) &&\
(rm -rf /usr/share/texlive/index.html || true) &&\
# clean up all temporary files
echo "\033[1;34mClean up all temporary files.\033[0m" &&\
find /usr/share/doc -depth -type f ! -name copyright -delete &&\
find /usr/share/doc -type f -name "*.pdf" -delete &&\
find /usr/share/doc -type f -name "*.gz" -delete &&\
find /usr/share/doc -type f -name "*.tex" -delete

RUN echo "\033[1;34mInstalling Emacs 29.\033[0m" &&\
apt-get install -y apt-utils software-properties-common &&\
add-apt-repository -y ppa:ubuntuhandbook1/emacs &&\
apt-get update &&\
apt-get install -y emacs emacs-common

RUN echo "\033[1;34mInstalling utilities.\033[0m" &&\
apt-get install -y sudo git gcc sqlite sqlite3 wget ncurses-term ripgrep xclip curl cairosvg

RUN echo "\033[1;36mRemoving extranious files.\033[0m" &&\
apt-get clean -y &&\
rm -rf /var/lib/apt/lists/* &&\
rm -f /etc/ssh/ssh_host_* &&\
# delete man pages and documentation
echo "\033[1;34mDelete man pages and documentation.\033[0m" &&\
rm -rf /usr/share/groff/* /usr/share/info/* &&\
rm -rf /usr/share/lintian/* /usr/share/linda/* /var/cache/man/* &&\
rm -rf /usr/share/man &&\
mkdir -p /usr/share/man &&\
find /usr/share/doc -depth -type f ! -name copyright -delete &&\
find /usr/share/doc -type f -name "*.pdf" -delete &&\
find /usr/share/doc -type f -name "*.gz" -delete &&\
find /usr/share/doc -type f -name "*.tex" -delete &&\
(find /usr/share/doc -type d -empty -delete || true) &&\
mkdir -p /usr/share/doc &&\
mkdir -p /usr/share/info &&\
rm -rf /var/cache/apt/archives &&\
mkdir -p /var/cache/apt/archives &&\
rm -rf /tmp/* /var/tmp/* &&\
(find /usr/share/ -type f -empty -delete || true) &&\
(find /usr/share/ -type d -empty -delete || true) &&\
mkdir -p /usr/share/texmf/source &&\
mkdir -p /usr/share/texlive/texmf-dist/source &&\
echo "\033[1;32mAll done.\033[0m"
mkdir -p /usr/share/texlive/texmf-dist/source


RUN echo "\033[1;36mDon't check github's SSH key\033[0m" &&\
printf "Host github.com\n StrictHostKeyChecking no\n" >> /etc/ssh/ssh_config
Expand Down

0 comments on commit 891c98a

Please sign in to comment.