TL_YEAR?=2024 PREFIX?=/usr/local/texlive/${TL_YEAR}/bin/custom BINREPO=https://www.ekdosis.org/texlive TMPDIR!=mktemp -d OPENBSD_VERSION!=sysctl -n kern.version | awk 'FNR == 1 { print $$2 }' | sed 's/\.//' TLBINPATH!!=which latex 2>/dev/null | sed 's/\/latex$$//' TMPSOURCE?="" UPDATING!=curl -s ${BINREPO}/status.txt | grep updating= | sed 's/.*=//' DONT_TOUCH_DIRS:=${HOME}/bin /bin /sbin /usr/bin /usr/sbin /usr/X11R6/bin /usr/local/bin /usr/local/sbin .MAIN: update fetch: .if "${UPDATING}" == "yes" @echo "The binaries are being updated. Please re-run this command later." .else curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz \ -o ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc \ -o ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc gpg --verify ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc unxz ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz mkdir ${TMPDIR}/bin \ && tar xf ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar \ -C ${TMPDIR}/bin @echo "" @echo "Looks good." @echo "Now do this to install TeX Live with custom binaries:" @echo " cd /path/to/install-tl" @echo " ./install-tl --custom-bin=${TMPDIR}/bin" .endif update: .if "${TLBINPATH}" == "" @echo "There is nothing to update. Aborting." exit 1 .endif .if "${UPDATING}" == "yes" @echo "The binaries are being updated. Please re-run this command later." .else curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz \ -o ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc \ -o ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc gpg --verify ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc .for DIR in ${DONT_TOUCH_DIRS} .if "${DIR}" == ${TLBINPATH} @echo "" @echo "This program will never affect a system directory such as ${TLBINPATH}" @echo "To complete the update, you must replace by hand your binaries" @echo "with those in ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz" @echo "Exiting now." exit 1 .endif .endfor .if "${PREFIX}" == ${TLBINPATH} @echo "" @echo "Looks good." @echo "Now do this to update the binaries:" @echo "1. Remove the binaries that are currently installed:" @echo " doas rm ${PREFIX}/*" @echo "2. Run this command:" @echo " make TMPSOURCE=${TMPDIR} install" .else @echo "" @echo "Looks like your TL binaries are in ${TLBINPATH}" @echo "instead of the expected ${PREFIX}." @echo "To complete the update, you must remove by hand your binaries." @echo "******************************************************************************" @echo "* CAUTION: You must first ensure that ${TLBINPATH} contains nothing" @echo "* but the TeX Live binaries, otherwise you may damage your system permanently." @echo "******************************************************************************" @echo "Then do:" @echo "1. doas rm ${TLBINPATH}/*" @echo "2. make TMPSOURCE=${TMPDIR} PREFIX=${TLBINPATH} install" .endif .endif install: unxz ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar.xz doas tar xf ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar -C ${PREFIX}/ .PHONY: fetch update install