# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>

pkgname=autoconf
pkgver=2.71
pkgrel=4.4
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' 'perl' 'sh')
checkdepends=('gcc-fortran')
source=(
	"https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}
	$pkgname-2.71-bash5.2.patch::https://github.com/autotools-mirror/autoconf/commit/412166e185c00d6eacbe67dfcb0326f622ec4020.patch
)
sha256sums=('f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4'
            'SKIP'
            'ee07bb3f9692bed2b7689bd361ae4e2e9a1bd852864a0c98f90b7b4c8beddfe4')
validpgpkeys=('82F854F3CE73174B8B63174091FCC32B6769AA64')  # Zack Weinberg

prepare() {
	# fix build for bash >= 5.2
	patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-2.71-bash5.2.patch
	cd "${pkgname}-${pkgver}"
	sed -i '1s|.*|#!/data/usr/bin/sh|' configure build-aux/{missing,mdate-sh,install-sh,gnupload,gitlog-to-changelog,git-version-gen,config.{sub,guess},announce-gen}
	sed -i 's|objdump --private-headers /bin/sh|objdump --private-headers /data/usr/bin/sh|' build-aux/config.guess
	sed -i '1s|.*|#!/data/usr/bin/sh -e|' build-aux/gendocs.sh
	sed -i 's|SHELL = /bin/sh|SHELL = /data/usr/bin/sh|' lib/autoconf/programs.m4
	sed -i 's|!/bin/sh|!/data/usr/bin/sh|' lib/autoconf/erlang.m4
	sed -i 's|! /bin/sh|! /data/usr/bin/sh|' lib/m4sugar/m4sh.m4
	sed -i 's|SHELL=/bin/sh|SHELL=/data/usr/bin/sh|' lib/autoconf/specific.m4
	sed -i 's|#! /bin/sh|#! /data/usr/bin/sh|' lib/{autoconf,autotest}/general.m4
}

build() {
	cd "${pkgname}-${pkgver}"
	./configure --prefix=/data/usr
	make
}

check() {
	cd "${pkgname}-${pkgver}"
	# disable test 227 as it is broken
	make check TESTSUITEFLAGS="1-226 228-"
}

package() {
	cd "${pkgname}-${pkgver}"
	make DESTDIR="${pkgdir}" SHELL=/data/usr/bin/sh install

	# license exception
	install -Dm644 COPYING.EXCEPTION "$pkgdir"/data/usr/share/licenses/autoconf/COPYING.EXCEPTION

	# remove unwanted file
	rm -f "$pkgdir"/data/usr/share/info/standards.info

	find "$pkgdir" -type f -exec sed -i 's@^#![ ]*/bin/sh@#!/data/usr/bin/sh@' {} \;
}
