# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=sslh
pkgver=2.1.4
pkgrel=0
pkgdesc="Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"
url="https://www.rutschle.net/tech/sslh/README.html"
arch="all"
license="GPL-2.0-or-later"
makedepends="libconfig-dev libcap-dev pcre2-dev libev-dev perl
autoconf automake libtool"
checkdepends="perl-conf-libconfig perl-io-socket-inet6 lcov valgrind"
subpackages="$pkgname-fail2ban::noarch $pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/yrutschle/sslh/archive/refs/tags/v$pkgver.tar.gz
	fix-make-install.patch
	fail2ban.patch
	config.patch
	$pkgname.initd
	$pkgname.confd
	"
# FIXME: Some tests fail.
# Can't test in chroot due to sockets and processes opened. (?)
options="!check"

prepare() {
	default_prepare
	aclocal && autoconf
	libtoolize
}

build() {
	./configure --prefix=/usr
	make all
}

check() {
	make test
}

package() {
	make DESTDIR="$pkgdir" PREFIX=/usr install

	ln -sf /usr/sbin/sslh-fork "$pkgdir/usr/sbin/sslh"
	install -D -m644 basic.cfg "$pkgdir/etc/$pkgname.conf"
	install -D -m755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
	install -D -m644 "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"
}

fail2ban() {
	install_if="$pkgname=$pkgver-r$pkgrel fail2ban"

	cd "$builddir"

	install -D -m644 scripts/fail2ban/sslh-ssh.conf \
		"$subpkgdir"/etc/fail2ban/filter.d/sslh-ssh.conf

	install -D -m644 scripts/fail2ban/jail.conf \
		"$subpkgdir"/etc/fail2ban/jail.d/sslh-ssh.conf
}

doc() {
	default_doc

	cd "$builddir"
	install -Dm 644 basic.cfg "$subpkgdir/usr/share/doc/$pkgname/basic.cfg"
	install -Dm 644 example.cfg "$subpkgdir/usr/share/doc/$pkgname/example.cfg"
}

sha512sums="
1678682bfe28aa2615068ab738b8413632f7799744fb5ee69287f759b1bc600b891e89fed2ff28a92b6d91b79ff4e52fe12ba448572828b38471efbeffdb4f62  sslh-2.1.4.tar.gz
b8cb4b2a9965542316fa50750438a26d0996e51432ac69d8cadb51f4b7766ba46f107b0634fafc4a07620c03a7a5442901d174b572a2e78e87ff941cd44c26f2  fix-make-install.patch
5773ee1d91e099726b614dbe385f2668699d25029fc300b664411c6082e95d3f27df11b9b1489bee3444c81bf941b8db13b4d382343788e47408c593c4531816  fail2ban.patch
87779a2a2bacf560146184bf64a6fdb49930fe97acf3770ad2e153dbbf9317110dc37fc7851df58f035866ca06983adc00251f871eaa6bfd8cc56c5292d437fa  config.patch
20ad403c7e8bd37c849263886ff4307a478fbeaec74d52b7db864dea2e9bdafb2c501afd70fa2621385baf3536553a79cee006b4a629260921d2e08db7991696  sslh.initd
7eaf99c6fb4505d0562c46ed2b3ae656b7c7c96223f2c7f11ab1bed72e9df0223a7ef02277ac50a633d165238efb8c54044eff38b488a7884b6671120d9e3f3e  sslh.confd
"
