termux-packages/packages/biber/installer.sh

86 lines
2.8 KiB
Bash

#!@TERMUX_PREFIX@/bin/bash
set -e
# unset variables that the user might have set to force installation to $PREFIX
unset PERL_LOCAL_LIB_ROOT
unset PERL5LIB
unset PERL_MM_OPT
unset PERL_MB_OPT
export PREFIX=@TERMUX_PREFIX@
export TMPDIR=@TERMUX_PREFIX@/tmp
export EXTUTILS_LIBBUILDER_VERSION=@EXTUTILS_LIBBUILDER_VERSION@
export TEXT_BIBTEX_VERSION=@TEXT_BIBTEX_VERSION@
export NET_SSLEAY_VERSION=@NET_SSLEAY_VERSION@
export BIBER_VERSION=@BIBER_VERSION@
# Lock terminal to prevent sending text input and special key
# combinations that may break installation process.
stty -echo -icanon time 0 min 0 intr undef quit undef susp undef
# Use trap to unlock terminal at exit.
trap 'while read -r; do true; done; stty sane;' EXIT
echo "[*] Installing cpanm..."
cpan install App::cpanminus
export PATH="$PATH:$HOME/perl5/bin"
echo "[*] Downloading and patching troublesome dependencies..."
cd $TMPDIR
if [ ! -f ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}.tar.gz ]; then
curl --fail --retry 3 --location --output "$TMPDIR/ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}.tar.gz" \
"https://cpan.metacpan.org/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}.tar.gz"
else
rm -rf ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}
fi
tar -xf ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}.tar.gz
cd ExtUtils-LibBuilder-${EXTUTILS_LIBBUILDER_VERSION}
patch -Np1 -i $PREFIX/opt/biber/ExtUtils-LibBuilder.diff
cpanm .
cd ..
if [ ! -f Text-BibTeX-${TEXT_BIBTEX_VERSION}.tar.gz ]; then
curl --fail --retry 3 --location --output "$TMPDIR/Text-BibTeX-${TEXT_BIBTEX_VERSION}.tar.gz" \
"https://cpan.metacpan.org/authors/id/A/AM/AMBS/Text-BibTeX-${TEXT_BIBTEX_VERSION}.tar.gz"
else
rm -rf Text-BibTeX-${TEXT_BIBTEX_VERSION}
fi
tar -xf Text-BibTeX-${TEXT_BIBTEX_VERSION}.tar.gz
cd Text-BibTeX-${TEXT_BIBTEX_VERSION}
patch -Np1 -i $PREFIX/opt/biber/Text-BibTeX.diff
cpanm .
cd ..
if [ ! -f p5-net-ssleay-${NET_SSLEAY_VERSION}.tar.gz ]; then
curl --fail --retry 3 --location --output "$TMPDIR/p5-net-ssleay-${NET_SSLEAY_VERSION}.tar.gz" \
"https://github.com/radiator-software/p5-net-ssleay/archive/${NET_SSLEAY_VERSION}.tar.gz"
else
rm -rf p5-net-ssleay-${NET_SSLEAY_VERSION}
fi
tar -xf p5-net-ssleay-${NET_SSLEAY_VERSION}.tar.gz
cd p5-net-ssleay-${NET_SSLEAY_VERSION}
patch -Np1 -i $PREFIX/opt/biber/Net-SSLeay.diff
cpanm .
cd ..
echo "[*] Installing biber and its dependencies (may take long time)..."
if [ ! -f biber-${BIBER_VERSION}.tar.gz ]; then
curl --fail --retry 3 --location --output "biber-${BIBER_VERSION}.tar.gz" \
"https://github.com/plk/biber/archive/v${BIBER_VERSION}.tar.gz"
else
rm -rf biber-${BIBER_VERSION}
fi
tar -xf biber-${BIBER_VERSION}.tar.gz && cd biber-${BIBER_VERSION}
cpanm --notest .
cd ..
echo "[*] biber installation finished."
exit 0