default_pre_build      &&
cd "$SOURCE_DIRECTORY" &&

apply_patch_dir patches &&

# Fix linking of dvisvgm; configure is broken
sedit 's/@LIBGS_LIBS@/-lgs/' texk/dvisvgm/dvisvgm-src/src/Makefile.in &&

# removing as much internal things as possible
      #asymptote \
      #devnag \
      #lacheck \
      #m-tx \
      #pmx \
      #texdoctk \
      #tpic2pdftex \
      #vlna \
      #xindy \
for i in \
      ps2eps \
      t1utils \
      xpdfopen
do
  rm -rf utils/"$i"
done &&

# Override bundled libraries' buildsystems to force system versions
# XXX lua52 and luajit can't be so easily removed due to internal API
# dependencies.
for i in \
      cairo \
      freetype2 \
      gd \
      gmp \
      graphite2 \
      harfbuzz \
      icu \
      libpaper \
      libpng \
      mpfr \
      pixman \
      poppler \
      potrace \
      xpdf \
      zlib \
      zziplib
do
  rm -rf libs/"$i" &&
  mkdir  libs/"$i" &&
  cat <<"!" > libs/"$i"/configure &&
#!/bin/sh
echo '%:;echo $@ target suppressed' > Makefile
!
  chmod 755 libs/"$i"/configure
done &&

# Use /usr/share/texmf and /usr/share/texmf-dist, adapted from lunarlinux
find \( -name Makefile\* -o -name configure \) \
       -exec sed -i -e "s:\(\$.\)prefix\(./tex\):\1datadir\2:" {} + \
  -o \( -name \*.info -o -name \*.texi \) \
       -exec sed -i -e "s:/usr/local:/usr:" {} + &&

# Patch paths in texmf.cnf
sedit '
	s@^TEXMFROOT =.*@&/usr/share@
	/^TEXMFLOCAL =/  s@=.*@= $SELFAUTODIR/local/share/texmf@
	/^TEXMFSYSVAR =/ s@=.*@= /var/tmp/texmf-var@
' texk/kpathsea/texmf.cnf &&

# ICU fix
sed '/utypes.h/i\
#include <unicode/utf16.h>
' -i texk/upmendex/mendex.h &&

mkdir "$COMPILE_DIRECTORY" &&

if spell_ok poppler; then
  cd "${SOURCE_DIRECTORY}/texk/web2c/pdftexdir" &&
  popplerver="$(installed_version poppler | cut -f 1,2 -d .)" &&
  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
