Commit 354f8635 authored by Roman Lacko's avatar Roman Lacko
Browse files

Merge branch 'v2020.1.0' into 'master'

V2020.1.0: Return to Debian Buster, install TeX Live directly from CTAN

See merge request unix/ci-images/haskell-ib015!6
parents aba126cb fd5fa86c
Loading
Loading
Loading
Loading
+34 −28
Original line number Diff line number Diff line
FROM debian:bullseye
FROM debian:buster

# The following originates from the 'haskell-8.6.5' Dockerfile
ENV LANG            C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
    apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git
RUN echo 'deb http://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \
    apt-get install -y --no-install-recommends \
        gnupg ca-certificates dirmngr curl git apt-utils \
        zlib1g-dev libtinfo-dev libsqlite3-dev g++ netbase xz-utils make locales wget

RUN echo 'deb http://downloads.haskell.org/debian buster main' > /etc/apt/sources.list.d/ghc.list && \
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA3CBA3FFE22B574 && \
    apt-get update
RUN apt-get install -y --no-install-recommends \
        zlib1g-dev libtinfo-dev libsqlite3-dev g++ netbase xz-utils make locales
RUN apt-get install -y --no-install-recommends \
          ghc-8.4.4 ghc-8.6.5 ghc-8.8.3 ghc-8.10.1 cabal-install-3.2
RUN curl -fSL https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz -o stack.tar.gz && \
    curl -fSL https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
    export GNUPGHOME="$(mktemp -d)" && \
    gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys C5705533DA4F78D8664B5DC0575159689BEFB442 && \
    gpg --batch --verify stack.tar.gz.asc stack.tar.gz && \
    tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \
    /usr/local/bin/stack config set system-ghc --global true && \
    /usr/local/bin/stack config set install-ghc --global false && \
    rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/3.2/bin:/opt/ghc/8.10.1/bin:$PATH:/opt/ghc/8.8.3/bin:/opt/ghc/8.6.5/bin:/opt/ghc/8.4.4/bin
RUN ghc --version && ghci --version

RUN echo "Europe/Prague" > /etc/timezone && \
    unlink /etc/localtime && \
@@ -34,26 +27,39 @@ RUN echo "Europe/Prague" > /etc/timezone && \

ENV LANG en_US.UTF-8

RUN cabal v1-update && cabal v1-install pandoc-2.10 QuickCheck HUnit data-default-class
# New TeX Live
COPY texlive.profile /root/texlive.profile
RUN cd /root && \
    wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && \
    tar xaf install-tl-unx.tar.gz && \
    cd install-tl-* && \
    ./install-tl --profile=/root/texlive.profile
RUN ls /opt/texlive/bin/x86_64-linux
ENV PATH /opt/texlive/bin/x86_64-linux:$PATH
ENV MANPATH /opt/texlive/texmf-dist/doc/man:$MANPATH
ENV INFOPATH /opt/texlive/texmf-dist/doc/info:$INFOPATH
RUN pdflatex --version && lualatex --version && context --version && latexmk --version

# install dependencies for Haskell study materials
RUN cabal v1-update && cabal v1-install pandoc-2.10 QuickCheck HUnit data-default-class
RUN for GHC in ghc-8.4.4 ghc-8.6.5 ghc-8.8.3 ghc-8.10.1; do cabal v1-install --with-ghc $GHC HUnit QuickCheck; done

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        texlive texlive-publishers texlive-lang-czechslovak texlive-pictures \
        texlive-fonts-extra texlive-xetex fonts-liberation texlive-science \
        texlive-plain-generic texlive-latex-extra texlive-latex-recommended \
        lmodern latexmk make rubber \
        hlint zip swi-prolog graphviz inkscape \
        dot2tex python3-pkg-resources python3-yaml python3-pip pandoc-citeproc \
        python3-pygments rsync ssh ca-certificates wget \
        fonts-lmodern make rubber pandoc-citeproc \
         hlint zip swi-prolog graphviz inkscape dot2tex \
         python3-pkg-resources python3-yaml python3-pip python3-setuptools \
         python3-pygments rsync ssh ca-certificates \
         libicu-dev context texlive-font-utils \
        python3-hypothesis python3-pytest flake8 mypy python3-mypy-extensions
         libpoppler-glib-dev

# make ConTeXt work
RUN fmtutil -sys --all
RUN pip3 install flake8 pylint pycodestyle mypy mypy-extensions pytest hypothesis
RUN pytest --version && mypy --version && flake8 --version

# for the sake of minted and other stupid programs that expect python to exist
RUN ln -s /usr/bin/python3 /usr/bin/python
# needed on bullseye and newer
# RUN ln -s /usr/bin/python3 /usr/bin/python
RUN ls -l /usr/bin/python


CMD ["bash"]
+1 −1
Original line number Diff line number Diff line
DOCKER  = docker
IMAGE   = haskell-ib015
TAG     = v2020.0.1
TAG     = v2020.1.0

-include local.make

texlive.profile

0 → 100644
+27 −0
Original line number Diff line number Diff line
selected_scheme scheme-full
TEXDIR /opt/texlive/
TEXMFCONFIG ~/.texlive/texmf-config
TEXMFHOME ~/texmf
TEXMFLOCAL /opt/texlive/texmf-local
TEXMFSYSCONFIG /opt/texlive/texmf-config
TEXMFSYSVAR /opt/texlive/texmf-var
TEXMFVAR ~/.texlive/texmf-var
binary_x86_64-linux 1
instopt_adjustpath 0
instopt_adjustrepo 1
instopt_letter 0
instopt_portable 0
instopt_write18_restricted 1
tlpdbopt_autobackup 1
tlpdbopt_backupdir tlpkg/backups
tlpdbopt_create_formats 1
tlpdbopt_desktop_integration 1
tlpdbopt_file_assocs 1
tlpdbopt_generate_updmap 0
tlpdbopt_install_docfiles 1
tlpdbopt_install_srcfiles 1
tlpdbopt_post_code 1
tlpdbopt_sys_bin /usr/local/bin
tlpdbopt_sys_info /usr/local/info
tlpdbopt_sys_man /usr/local/man
tlpdbopt_w32_multi_user 1