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

pkgname=('texinfo' 'info' 'texinfo-tex')
pkgver=7.2
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/"
msys2_repository_url="https://git.savannah.gnu.org/cgit/texinfo.git"
msys2_references=(
  "anitya: 4958"
  "cpe: cpe:/a:gnu:texinfo"
)
license=('spdx:GPL-3.0-or-later')
makedepends=('ncurses-devel' 'libxcrypt-devel' 'gettext-devel' 'findutils' 'gzip' 'perl-devel' 'autotools' 'gcc' 'help2man')
source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}
        texinfo-install.hook
        texinfo-remove.hook
        0001-texinfo-6.7-msys2.patch
        0002-manifest.all.patch
        0004-no-w32-stuff.msys2.patch
        0005-fix-makeinfo-exeext.msys2.patch)
sha256sums=('0329d7788fbef113fa82cb80889ca197a344ce0df7646fe000974c5d714363a6'
            'SKIP'
            '4aac28477a0902a445e3483ace48a3d948b75e521d073892e1069b81edae8102'
            'e910ebddab9d3c82300caf1e3449960eb5cae756f6c708efd6ad51fc508feb7b'
            '8ce031fd118de2a5325ccf63dc21d9dd26dde9a61566dd269a27ea570494e75e'
            '868d4b405b37e6c457defc096853fab88c8735208f0b2d85bb288cfcfd8139de'
            'ccf696f2777ebd2c85c4cb311a4735957ffa40952ecbe50c7031b9f05dc6cdee'
            'c11ca5a18ba48ce76d00c6eca5b6b6438dcdf77776914898e9782f4c81571c9e')
validpgpkeys=('EAF669B31E31E1DECBD11513DDBC579DAB37FBA9') # Gavin Smith

prepare() {
  cd ${srcdir}/${pkgname}-${pkgver}
  patch -p1 -i ${srcdir}/0001-texinfo-6.7-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

  autoreconf -fiv
  pushd tp/Texinfo/XS
    autoreconf -fiv
  popd
}

build() {
  cd ${srcdir}/${pkgname}-${pkgver}

  export MSYSTEM=CYGWIN
  ./configure \
    --build=${CHOST} \
    --prefix=/usr \
    --without-libiconv-prefix \
    --without-libintl-prefix \
    --enable-perl-xs \
    gl_cv_clean_version_stddef=yes

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

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

package_texinfo() {
  depends=('info' 'perl' 'sh')

  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/texi2any ${pkgdir}/usr/lib/
  cp -rf ${srcdir}/dest/usr/share/locale ${pkgdir}/usr/share/
  cp -rf ${srcdir}/dest/usr/share/texinfo ${pkgdir}/usr/share/
  cp -rf ${srcdir}/dest/usr/share/texi2any ${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' 'libxcrypt' 'libintl' 'ncurses')

  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

  install -dm755 "${pkgdir}"/usr/share/libalpm/hooks/
  install -m644 texinfo-{install,remove}.hook "${pkgdir}"/usr/share/libalpm/hooks/
}

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

  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
}
