# Maintainer (Arch): Firmicus <firmicus āt gmx dōt net>
# Maintainer (Arch): Rémy Oudompheng <remy@archlinux.org>
# Contributor (Hyperbola): André Silva <emulatorman@hyperbola.info>
# Maintainer: Michał Masłowski <mtjm@mtjm.eu>
# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>


# parabola changes and rationale:
#  - remvoe nonfree add-on packages


_pkgname=texlive-latexextra-libre
pkgname=texlive-latexextra
pkgver=2020.55418
_revnr=${pkgver#2020.}
pkgrel=1
pkgrel+=.par1
pkgdesc="TeX Live - Large collection of add-on packages for LaTeX"
pkgdesc+=", without nonfree add-on packages"
license=('GPL')
arch=(any)
depends=('texlive-core'
         'perl-file-which' # for pdfannotextractor
        )
optdepends=(
  'python2-pygments: for pygmentex'
  'texlive-genericextra: to use the calctab package'
  'texlive-pictures: to use the package overpic'
  'java-environment: to use pdfannotextractor'
)
groups=('texlive-most')
url='http://tug.org/texlive/'
mksource=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip")
mksha256sums=('a2ee21a2a6f00def6bec620a85bb8116de97a16dcd98adaa308eb455fe0e7fcb')
noextract=("$pkgname-$pkgver-src.zip")
source=("https://repo.parabola.nu/other/$_pkgname/$_pkgname-$pkgver-src.tar.xz"{,.sig}
        "$pkgname.maps"
        "$pkgname.fmts")
options=('!emptydirs')
sha256sums=('17bdd91f456643f112e8c9aec709189eafbeb106a239dff977713c879cca2000'
            'SKIP'
            'd53750a03a52472a1c7c5ba5142959ba382a5d69215471691c0b12c3663950ce'
            '828a9cf082b9a89a4aa0eec402a9c32b8056bb873e4a5dc92ce60aec2ea69435')
validpgpkeys=('1B8C5E87702444D3D825CC8086ED62396D5DBA58'  # Omar Vega Ramos
              '38D33EF29A7691134357648733466E12EC7BA943'  # Isaac David
              '3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger


mksource() {
   mkdir $pkgname-$pkgver
   pushd $pkgname-$pkgver
   bsdtar xfv ../$pkgname-$pkgver-src.zip

   # remove nonfree packages
   # no specific free license
   rm -v {authoraftertitle,clock,fnpara}.tar.xz
   # nonfree license (CC BY-NC)
   rm -v axessibility.tar.xz

   popd
}

prepare() {
   cd $srcdir/$pkgname-$pkgver
   echo -n "   --> extracting all packages... "
   for p in *.tar.xz; do
	   bsdtar -xf $p
   done
   rm -rf {tlpkg,doc,source} || true

   # remove nonfree packages references from package list
   sed -ri '/^(axessibility|authoraftertitle|fnpara) /d' CONTENTS
}

package() {
   cd $srcdir/$pkgname-$pkgver

   install -m755 -d "$pkgdir"/var/lib/texmf/arch/installedpkgs
   sed -i '/^#/d' CONTENTS
   install -m644 CONTENTS "$pkgdir"/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs
   install -m644 "$srcdir"/$pkgname.maps "$pkgdir"/var/lib/texmf/arch/installedpkgs/
   install -m755 -d "$pkgdir"/usr/share
   wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
   for dir in $wanteddirs; do
     find $dir -type d -exec install -d -m755 "$pkgdir"/usr/share/texmf-dist/'{}' \;
     find $dir -type f -exec install -m644 '{}' "$pkgdir"/usr/share/texmf-dist/'{}' \;
   done
   if [[ -d texmf-dist ]]; then
     find texmf-dist -type d -exec install -d -m755 "$pkgdir"/usr/share/'{}' \;
     find texmf-dist -type f -exec install -m644 '{}' "$pkgdir"/usr/share/'{}' \;
   fi
   if [[ -d "$pkgdir"/usr/share/texmf-dist/scripts ]]; then
     find "$pkgdir"/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \;
   fi

    #add symlinks that were in texlive-bin:
    _linked_scripts="
authorindex/authorindex
exceltex/exceltex
glossaries/makeglossaries
glossaries/makeglossaries-lite.lua
l3build/l3build.lua
makedtx/makedtx.pl
pax/pdfannotextractor.pl
perltex/perltex.pl
pygmentex/pygmentex.py
splitindex/splitindex.pl
svn-multi/svn-multi.pl
vpe/vpe.pl
webquiz/webquiz.py
wordcount/wordcount.sh
yplan/yplan
"
    install -m755 -d "$pkgdir"/usr/bin
    for _script in ${_linked_scripts}; do
        _scriptbase=$(basename $_script)
        _scriptbase=${_scriptbase%.*}
        ln -s /usr/share/texmf-dist/scripts/${_script} "${pkgdir}/usr/bin/${_scriptbase}"
    done

    rm "$pkgdir"/usr/share/texmf-dist/scripts/shipunov/biokey2html.bat || true
}
