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

pkgname=autoconf2.13
pkgver=2.13
pkgrel=6
pkgdesc="A GNU tool for automatically configuring source code"
arch=('any')
license=('GPL2' 'GPL3' 'custom')
url="https://www.gnu.org/software/autoconf"
depends=('awk' 'm4' 'diffutils' 'bash' 'perl')
makedepends=('make')
source=(https://ftp.gnu.org/pub/gnu/autoconf/autoconf-${pkgver}.tar.gz
        0001-autoconf-2.13-version-specific-share-directory.patch
        autoconf2.1-texinfo.patch
        autoconf-2.13-msys2.patch
        autoconf-2.13-Clang-16-fixes-for-various-tests.patch
        autoconf-2.13-K-R-decls-clang.patch
        autoconf-2.13-msys2.patch
        autoconf-2.13-perl-5.26.patch
        autoconf-2.13-test-fixes.patch)
sha256sums=('f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e'
            '85257fad008fff943942e676fcc45df76d38429d5807fa59eb3eb1812dcd3a77'
            'bb987bcd817988830d77c7acf377d14ca89629fb1e5dcea4cf193a7b0d44d62f'
            '4d57e9ab72c5084233fce61bc0d9edb177971de5dd2ec376300dd224b029f87e'
            '52aa69dbd82470c3b8d23e35477d40798a16814201c3c206f3cc058d7234d1b6'
            '54406429dfe85950717e13a0a501f778f340d2395a82f830b740408c5284102c'
            '4d57e9ab72c5084233fce61bc0d9edb177971de5dd2ec376300dd224b029f87e'
            '770d85b03a90787950225bdf52e9e14ab66bd5d85dacb422e947fb8f644e55a6'
            '43929d95e6050642385530df91084d4c073cec5cca727918d5ff84bc1e3059f5')

prepare() {
  cd ${srcdir}/autoconf-${pkgver}

  # MSYS2
  patch -p2 -i ${srcdir}/autoconf2.1-texinfo.patch
  patch -p1 -i ${srcdir}/autoconf-2.13-msys2.patch
  patch -p1 -i ${srcdir}/0001-autoconf-2.13-version-specific-share-directory.patch

  # from gentoo: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/autoconf/files
  patch -p1 -i ${srcdir}/autoconf-2.13-test-fixes.patch
  patch -p1 -i ${srcdir}/autoconf-2.13-perl-5.26.patch
  patch -p1 -i ${srcdir}/autoconf-2.13-K-R-decls-clang.patch
  patch -p1 -i ${srcdir}/autoconf-2.13-Clang-16-fixes-for-various-tests.patch
}

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

  ./configure \
    --prefix=/usr \
    --program-suffix=-2.13

  make
}

check() {
  cd ${srcdir}/autoconf-${pkgver}
  # autoconf 2.13: 4 out of 255 unexpected failures
  make check || exit 0
}

package() {
  cd ${srcdir}/autoconf-${pkgver}
  make prefix=${pkgdir}/usr install

  makeinfo --no-split -I ${srcdir}/autoconf-${pkgver} -o autoconf2.13.info autoconf.texi
  # license exception
  install -Dm644 COPYING \
    $pkgdir/usr/share/licenses/autoconf${pkgver}/COPYING

  rm -rf ${pkgdir}/usr/info
  mkdir -p ${pkgdir}/usr/share/info
  cp autoconf2.13.info ${pkgdir}/usr/share/info/autoconf2.13.info
}
