summaryrefslogtreecommitdiffstats
path: root/latex
diff options
context:
space:
mode:
authorIsmael Luceno2020-08-21 21:53:19 +0200
committerIsmael Luceno2020-08-21 21:58:32 +0200
commita9ab73540b025d3b5c0b307151863daa946b27ab (patch)
treeca24d0d2df80190412314143c47ce67dc6042ce4 /latex
parent89e66165ad5c1d8040e2f0fce874dd5de38fa33a (diff)
texlive: Rework poppler API patching
Diffstat (limited to 'latex')
-rw-r--r--latex/texlive/HISTORY1
-rwxr-xr-xlatex/texlive/PRE_BUILD45
2 files changed, 20 insertions, 26 deletions
diff --git a/latex/texlive/HISTORY b/latex/texlive/HISTORY
index fe433f7a48..e026472368 100644
--- a/latex/texlive/HISTORY
+++ b/latex/texlive/HISTORY
@@ -1,6 +1,7 @@
2020-08-21 Ismael Luceno <ismael@sourcemage.org>
* BUILD: Fixed build with binutils >= 2.35
* PRE_BUILD: Optimized data installation prefix patching
+ Reworked poppler API patching
2019-08-13 Pavel Vinogradov <public@sourcemage.org>
* DEPENDS: needs ghostscript with libgs
diff --git a/latex/texlive/PRE_BUILD b/latex/texlive/PRE_BUILD
index 882049d2dd..224b3b15e9 100755
--- a/latex/texlive/PRE_BUILD
+++ b/latex/texlive/PRE_BUILD
@@ -74,34 +74,27 @@ sed '/utypes.h/i\
mkdir "$COMPILE_DIRECTORY" &&
-# Poppler sources:
-# really old: keep things as-is
-# 0.59.x to 0.68.x: pdftoepdf-poppler0.68.0.cc, pdftosrc-newpoppler.cc
-# 0.69.x: pdftoepdf-poppler0.69.0.cc, pdftosrc-newpoppler.cc
-# 0.70.x: pdftoepdf-poppler0.70.0.cc, pdftosrc-newpoppler.cc
-# 0.71.x: pdftoepdf-poppler0.71.0.cc, pdftosrc-poppler0.71.0.cc
-# This is nuts.
if spell_ok poppler; then
cd "${SOURCE_DIRECTORY}/texk/web2c/pdftexdir" &&
popplerver="$(installed_version poppler | cut -f 1,2 -d .)" &&
- if is_version_between 0.59 "$popplerver" 0.68; then
- cp pdftoepdf-poppler0.68.0.cc pdftoepdf.cc &&
- cp pdftosrc-newpoppler.cc pdftosrc.cc
- elif [[ "$popplerver" = 0.69 ]]; then
- cp pdftoepdf-poppler0.69.0.cc pdftoepdf.cc &&
- cp pdftosrc-newpoppler.cc pdftosrc.cc
- elif [[ "$popplerver" = 0.70 ]]; then
- cp pdftoepdf-poppler0.70.0.cc pdftoepdf.cc &&
- cp pdftosrc-newpoppler.cc pdftosrc.cc
- elif [[ "$popplerver" = 0.71 ]]; then
- cp pdftoepdf-poppler0.71.0.cc pdftoepdf.cc &&
- cp pdftosrc-poppler0.71.0.cc pdftosrc.cc
- elif [[ "$popplerver" = 0.72 ]]; then
- cp pdftoepdf-poppler0.72.0.cc pdftoepdf.cc &&
- cp pdftosrc-poppler0.72.0.cc pdftosrc.cc
- elif ! is_version_less "$popplerver" 0.73; then
- cp pdftoepdf-poppler0.75.0.cc pdftoepdf.cc &&
- cp pdftosrc-poppler0.72.0.cc pdftosrc.cc
- fi &&
+ case "$popplerver" in
+ # really old: keep things as-is
+ (0.?|0.[0-4]?|0.5[0-8]) ;;
+ # special case for the non-versioned file
+ (0.59|0.6?|0.70)
+ ln -vsf pdftosrc{-newpoppler,}.cc
+ ;&
+ # symlink the best matches for the installed poppler version
+ (*)
+ {
+ echo ./pdftosrc-poppler$popplerver.z
+ echo ./pdftoepdf-poppler$popplerver.z
+ find -name 'pdfto*-poppler*.0.cc'
+ } | sort -V | awk -F- '
+ /z$/ { done[$1]; next }
+ !($1 in done) { latest[$1] = $0 }
+ END { for (i in latest) print latest[i], i ".cc" }
+ ' | xargs -n 2 ln -vsf
+ esac &&
cd "${SOURCE_DIRECTORY}"
fi