Skip to content

Commit

Permalink
release v0.9.5
Browse files Browse the repository at this point in the history
Major changes:
- switch Docker base to Ubuntu 24.04 with TeX Live 2021
  • Loading branch information
xworld21 committed Sep 24, 2024
1 parent a573f62 commit 8887540
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 15 deletions.
4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
### TeX Live base image must be Debian-based
ARG LATEXML=ghcr.io/vlmantova/bookml-latexml:0.8.8-tl2021
ARG TEXLIVE_VERSION=2022
ARG LATEXML_VERSION=0.8.8
ARG LATEXML=ghcr.io/vlmantova/bookml-latexml:${LATEXML_VERSION}-tl${TEXLIVE_VERSION}

### BookML
FROM $LATEXML
Expand Down
4 changes: 3 additions & 1 deletion Dockerfile-latexml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ ARG TEXLIVE=ghcr.io/vlmantova/bookml-texlive:$TEXLIVE_VERSION
FROM $TEXLIVE
ARG DEBIAN_FRONTEND=noninteractive
ARG LATEXML_VERSION=0.8.8
RUN set -ex && apt-get update -qq && apt-get install -qy curl ghostscript imagemagick latexml --no-install-recommends
RUN set -ex && apt-get update -qq && apt-get install -qy curl dvisvgm ghostscript latexml --no-install-recommends
RUN set -ex && curl -L https://launchpad.net/ubuntu/+archive/primary/+files/latexml_${LATEXML_VERSION}-1_all.deb -o /latexml_${LATEXML_VERSION}-1_all.deb
RUN set -ex && dpkg -i /latexml_${LATEXML_VERSION}_all.deb || apt -f install && rm /latexml_${LATEXML_VERSION}-1_all.deb
# use dvisvgm from system so as to have matching libgs, mupdf
RUN rm /usr/local/bin/dvisvgm

# Enable imagemagick policy permissions for work with arXiv PDF/EPS files
# Extend imagemagick resource allowance to be able to create with high-quality images
Expand Down
31 changes: 26 additions & 5 deletions Dockerfile-texlive
Original file line number Diff line number Diff line change
@@ -1,7 +1,28 @@
### TeX Live base image (TL2021 like ar5ivist, for better compatibility with LaTeXML)
FROM ubuntu:22.04
### TeX Live base image
FROM ubuntu:24.04

# equivs brings in a lot of dependencies, unfortunately
ARG DEBIAN_FRONTEND=noninteractive
RUN set -ex && apt-get update -qq && apt-get install -qy tzdata texlive-full
RUN set -ex && apt update -qq && apt install -qy tzdata curl perl-modules && apt install -qy equivs --no-install-recommends

# TL 2021 is the latest version for which expl3 loads in reasonable time
ARG TEXLIVE_VERSION=2021
LABEL org.opencontainers.image.source=https://github.com/vlmantova/bookml
LABEL org.opencontainers.image.title="TeX Live 2021 base for BookML"
LABEL org.opencontainers.image.description="TeX Live 2021 base for BookML"
LABEL org.opencontainers.image.title="TeX Live ${TEXLIVE_VERSION} base for BookML"
LABEL org.opencontainers.image.description="TeX Live ${TEXLIVE_VERSION} base for BookML"

# install fake texlive-local package
# remove dependency on freeglut3
RUN set -ex && curl -L "https://wiki.debian.org/TeXLive?action=AttachFile&do=get&target=debian-equivs-${TEXLIVE_VERSION}-ex.txt" | grep -v Depends: > /tmp/texlive-equiv
RUN set -ex && cd /tmp && equivs-build texlive-equiv && dpkg -i texlive-local_*.deb
RUN rm -fr /tmp/*

# install TeX Live
RUN set -ex && cd /tmp && curl -L https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/${TEXLIVE_VERSION}/install-tl-unx.tar.gz | tar xzv

COPY <<EOF /tmp/texlive.profile
instopt_adjustpath 1
tlpdbopt_install_docfiles 0
tlpdbopt_install_srcfiles 0
EOF
RUN set -ex && cd /tmp && perl install-tl-*/install-tl --repository https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/${TEXLIVE_VERSION}/tlnet-final --profile /tmp/texlive.profile
18 changes: 10 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# BookML: bookdown flavoured GitBook port for LaTeXML
# Copyright (C) 2021-23 Vincenzo Mantova <[email protected]>
# Copyright (C) 2021-24 Vincenzo Mantova <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -68,24 +68,26 @@ docker-texlive-ctx docker-latexml-ctx docker-bookml-ctx:
docker-bookml-ctx/release.zip: release.zip | docker-bookml-ctx
$(CP) "$<" "$@"

TEXLIVE_VERSION=2021
LATEXML_VERSION=0.8.8
docker-amd64 docker-arm64: docker-%: Dockerfile docker-bookml-ctx/release.zip
docker build --platform linux/$* --build-arg=BOOKML_VERSION=$(BOOKML_VERSION) --tag ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx0.8.8-tl2021-$* -f "$<" docker-bookml-ctx
docker build --platform linux/$* --build-arg=BOOKML_VERSION=$(BOOKML_VERSION) --build-arg=LATEXML_VERSION=$(LATEXML_VERSION) --build-arg=TEXLIVE_VERSION=$(TEXLIVE_VERSION) --tag ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-$* -f "$<" docker-bookml-ctx

docker: docker-amd64 docker-arm64
docker manifest create ghcr.io/vlmantova/bookml:$(BOOKML_VERSION) --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx0.8.8-tl2021-amd64 --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx0.8.8-tl2021-arm64
docker manifest create ghcr.io/vlmantova/bookml:latest --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx0.8.8-tl2021-amd64 --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx0.8.8-tl2021-arm64
docker manifest create ghcr.io/vlmantova/bookml:$(BOOKML_VERSION) --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-amd64 --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-arm64
docker manifest create ghcr.io/vlmantova/bookml:latest --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-amd64 --amend ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)-lx$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-arm64

docker-latexml-amd64 docker-latexml-arm64: docker-latexml-%: Dockerfile-latexml | docker-latexml-ctx
docker build --platform linux/$* --tag ghcr.io/vlmantova/bookml-latexml:0.8.8-tl2021-$* -f "$<" docker-latexml-ctx
docker build --platform linux/$* --build-arg=LATEXML_VERSION=$(LATEXML_VERSION) --build-arg=TEXLIVE_VERSION=$(TEXLIVE_VERSION) --tag ghcr.io/vlmantova/bookml-latexml:$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-$* -f "$<" docker-latexml-ctx

docker-latexml: docker-latexml-amd64 docker-latexml-arm64
docker manifest create ghcr.io/vlmantova/bookml-latexml:0.8.8-tl2021 --amend ghcr.io/vlmantova/bookml-latexml:0.8.8-tl2021-amd64 --amend ghcr.io/vlmantova/bookml-latexml:0.8.8-tl2021-arm64
docker manifest create ghcr.io/vlmantova/bookml-latexml:$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION) --amend ghcr.io/vlmantova/bookml-latexml:$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-amd64 --amend ghcr.io/vlmantova/bookml-latexml:$(LATEXML_VERSION)-tl$(TEXLIVE_VERSION)-arm64

docker-texlive-amd64 docker-texlive-arm64: docker-texlive-%: Dockerfile-texlive | docker-texlive-ctx
docker build --platform linux/$* --tag ghcr.io/vlmantova/bookml-texlive:2021-$* -f "$<" docker-texlive-ctx
docker build --platform linux/$* --build-arg=TEXLIVE_VERSION=$(TEXLIVE_VERSION) --tag ghcr.io/vlmantova/bookml-texlive:$(TEXLIVE_VERSION)-$* -f "$<" docker-texlive-ctx

docker-texlive: docker-texlive-amd64 docker-texlive-arm64
docker manifest create ghcr.io/vlmantova/bookml-texlive:2021 --amend ghcr.io/vlmantova/bookml-texlive:2021-amd64 --amend ghcr.io/vlmantova/bookml-texlive:2021-arm64
docker manifest create ghcr.io/vlmantova/bookml-texlive:$(TEXLIVE_VERSION) --amend ghcr.io/vlmantova/bookml-texlive:$(TEXLIVE_VERSION)-amd64 --amend ghcr.io/vlmantova/bookml-texlive:$(TEXLIVE_VERSION)-arm64

manifest:
podman manifest create ghcr.io/vlmantova/bookml:latest ghcr.io/vlmantova/bookml:$(BOOKML_VERSION)
Expand Down
1 change: 1 addition & 0 deletions bookml.mk
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ endif
detect: detect-sources detect-bookml detect-make detect-tex detect-perl \
detect-latexml detect-imagemagick detect-ghostscript detect-dvisvgm \
detect-latexmk detect-texfot detect-preview detect-zip
@#
.PHONY: detect
.PHONY: detect-sources detect-bookml detect-make detect-tex detect-perl \
detect-latexml detect-imagemagick detect-ghostscript detect-dvisvgm \
Expand Down

0 comments on commit 8887540

Please sign in to comment.