# Maintainer: Alexey Pavlov <alexpux@gmail.com>

pkgname=('texinfo' 'info' 'texinfo-tex')
pkgver=6.5
pkgrel=2
pkgdesc="Utilities to work with and produce manuals, ASCII text, and on-line documentation from a single source file"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/texinfo/"
license=('GPL3')
makedepends=('libcrypt-devel' 'ncurses-devel' 'gettext-devel' 'findutils' 'gzip' 'perl')
source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}
        0001-texinfo-6.5-msys2.patch
        0002-manifest.all.patch
        0004-no-w32-stuff.msys2.patch
        0005-fix-makeinfo-exeext.msys2.patch
        0006-Fix-unescaped-left-braces-in-regexps-deprecated-sinc.patch)
sha256sums=('77774b3f4a06c20705cc2ef1c804864422e3cf95235e965b1f00a46df7da5f62'
            'SKIP'
            '4ce942aa3a0fc16dbaf069b1b67d4281f961b7f9c87332810b2dc763ce710bb2'
            '5bc6680fa441b26ed18a794ad201a1252dba9f03d5426c87e42d33c758a4a039'
            'ccf696f2777ebd2c85c4cb311a4735957ffa40952ecbe50c7031b9f05dc6cdee'
            'e5b18f11d9a5d99f96f9228266e6204cfb2e076e2d9c336db0eceb72e2252873'
            '8932b1b40d3e95bac89c30446d11c455d7ef3ae2f06ca031508f2607c788f0d0')

prepare() {
  cd ${srcdir}/${pkgname}-${pkgver}
  patch -p1 -i ${srcdir}/0001-texinfo-6.5-msys2.patch
  patch -p1 -i ${srcdir}/0002-manifest.all.patch
  patch -p1 -i ${srcdir}/0004-no-w32-stuff.msys2.patch
  patch -p1 -i ${srcdir}/0005-fix-makeinfo-exeext.msys2.patch
  patch -p1 -i ${srcdir}/0006-Fix-unescaped-left-braces-in-regexps-deprecated-sinc.patch

  autoreconf -fiv
  pushd tp/Texinfo/Convert/XSParagraph
    autoreconf -fiv
  popd
}

build() {
  cd ${srcdir}/${pkgname}-${pkgver}
  ./configure \
    --build=${CHOST} \
    --prefix=/usr \
    --without-libiconv-prefix \
    --without-libintl-prefix \
    --enable-perl-xs \
    gl_cv_func_wcwidth_works=yes

  make
  make DESTDIR=${srcdir}/dest install
}

check() {
  cd ${srcdir}/${pkgname}-${pkgver}
  make check
}

package_texinfo() {
  depends=('info' 'perl' 'sh')
  groups=('base-devel')
  install=texinfo.install

  mkdir -p ${pkgdir}/usr/{bin,lib}
  mkdir -p ${pkgdir}/usr/share/info
  mkdir -p ${pkgdir}/usr/share/man/man{1,5}
  for ff in makeinfo pod2texi texi2any; do
    cp -f ${srcdir}/dest/usr/bin/${ff} ${pkgdir}/usr/bin/${ff}
    cp -f ${srcdir}/dest/usr/share/man/man1/${ff}.1 ${pkgdir}/usr/share/man/man1/${ff}.1
  done
  cp -rf ${srcdir}/dest/usr/lib/texinfo ${pkgdir}/usr/lib/
  cp -rf ${srcdir}/dest/usr/share/locale ${pkgdir}/usr/share/
  cp -rf ${srcdir}/dest/usr/share/texinfo ${pkgdir}/usr/share/
  cp -f ${srcdir}/dest/usr/share/man/man5/texinfo.5 ${pkgdir}/usr/share/man/man5/
  cp -f ${srcdir}/dest/usr/share/info/texinfo.info{,-1,-2,-3} ${pkgdir}/usr/share/info/
}

package_info() {
  depends=('gzip' 'libcrypt' 'libintl' 'ncurses')
  groups=(base)
  install=info.install

  mkdir -p ${pkgdir}/usr/{bin,share}
  mkdir -p ${pkgdir}/usr/share/info
  mkdir -p ${pkgdir}/usr/share/man/man{1,5}
  for ff in info install-info; do
    cp -f ${srcdir}/dest/usr/bin/${ff}.exe ${pkgdir}/usr/bin/${ff}.exe
    cp -f ${srcdir}/dest/usr/share/man/man1/${ff}.1 ${pkgdir}/usr/share/man/man1/${ff}.1
  done
  cp -f ${srcdir}/dest/usr/share/man/man5/info.5 ${pkgdir}/usr/share/man/man5/info.5
  cp -f ${srcdir}/dest/usr/share/info/info-stnd.info ${pkgdir}/usr/share/info/info-stnd.info
}

package_texinfo-tex() {
  depends=('gawk' 'perl' 'sh')
  groups=('base-devel')

  mkdir -p ${pkgdir}/usr/{bin,share}
  mkdir -p ${pkgdir}/usr/share/man/man1
  for ff in texindex texi2dvi texi2pdf pdftexi2dvi; do
    cp -f ${srcdir}/dest/usr/bin/${ff} ${pkgdir}/usr/bin/${ff}
    cp -f ${srcdir}/dest/usr/share/man/man1/${ff%.*}.1 ${pkgdir}/usr/share/man/man1/${ff%.*}.1
  done
}
