# Automatically generated by apkbuild-cpan, template 4
# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=perl-promise-es6
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Promise-ES6
pkgver=0.28
pkgrel=0
pkgdesc="ES6-style promises in Perl"
url="https://metacpan.org/release/Promise-ES6/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
makedepends="perl-extutils-makemaker-cpanfile"
checkdepends="
	perl-anyevent perl-devel-globaldestruction perl-future-asyncawait
	perl-test-class perl-test-deep perl-test-failwarnings
	perl-test-fatal perl-test2-suite
	"
subpackages="
	$pkgname-doc
	$pkgname-anyevent
	$pkgname-future
	$pkgname-io-async
	$pkgname-mojo-ioloop
	"
source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/Promise-ES6-$pkgver.tar.gz
	fix-tests-circular-ref.patch
	"
builddir="$srcdir/$_pkgreal-$pkgver"

build() {
	export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
	PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
		INSTALLDIRS=vendor \
		NO_PACKLIST=1 \
		NO_PERLLOCAL=1
	make
}

check() {
	export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
	make test
}

package() {
	make DESTDIR="$pkgdir" install
}

anyevent() {
	pkgdesc="$pkgdesc (AnyEvent backend)"
	depends="$pkgname=$pkgver-r$pkgrel perl-anyevent"
	install_if="$pkgname=$pkgver-r$pkgrel perl-anyevent"

	amove usr/share/perl5/vendor_perl/Promise/ES6/AnyEvent.pm
	amove usr/share/perl5/vendor_perl/Promise/ES6/Event/AnyEvent.pm
}

future() {
	pkgdesc="$pkgdesc (Future interface)"
	depends="$pkgname=$pkgver-r$pkgrel perl-future"
	install_if="$pkgname=$pkgver-r$pkgrel perl-future"

	amove usr/share/perl5/vendor_perl/Promise/ES6/Future.pm
}

async() {
	pkgdesc="$pkgdesc (IO::Async backend)"
	depends="$pkgname=$pkgver-r$pkgrel perl-io-async"
	install_if="$pkgname=$pkgver-r$pkgrel perl-io-async"

	amove usr/share/perl5/vendor_perl/Promise/ES6/IOAsync.pm
	amove usr/share/perl5/vendor_perl/Promise/ES6/Event/IOAsync.pm
}

ioloop() {
	pkgdesc="$pkgdesc (Mojo::IOLoop backend)"
	depends="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
	install_if="$pkgname=$pkgver-r$pkgrel perl-mojolicious"

	amove usr/share/perl5/vendor_perl/Promise/ES6/Mojo.pm
	amove usr/share/perl5/vendor_perl/Promise/ES6/Event/MojoIOLoop.pm
}

sha512sums="
6ae5c4d1fe015c78328e778c4495199645371d35484b33a52fca2c9290a4da878d586b5929b84e4e7cb93836e7e00d2271cfcdec7268d301b3d7a20c728240a3  Promise-ES6-0.28.tar.gz
4912a579c9f6311a317a170a91d127b7f06b388e079fdcae957a6df5aed5228de3c2fa6d74992b2303691434d0513f071fef57bad56622d836d04f2b5cc6377b  fix-tests-circular-ref.patch
"
