# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ircservices
pkgver=5.1.24
pkgrel=7
pkgdesc="Services for IRC (NickServ, ChanServ, MemoServ)"
url="https://achurch.org/services/"
arch="all"
license="GPL-2.0"
makedepends="perl"
install=$pkgname.pre-install
pkgusers="ircservices"
pkggroups="ircservices"
subpackages="$pkgname-doc"
source="http://achurch.org/services/tarballs/ircservices-$pkgver.tar.gz
	$pkgname.initd
	gcc-10.patch
	gcc-14.patch"

prepare() {
	default_prepare

	sed -i \
		-e "s/-m 750/-m 755/" \
		-e "s/-m 640/-m 644/" \
		configure
}

build() {
	export CFLAGS="$CFLAGS -Wno-error=format-security"
	# note: this is not autotools
	RUNGROUP=ircservices ./configure \
		-cc "$CC" \
		-cflags "$CFLAGS" \
		-bindest /usr/bin \
		-datdest /var/lib/ircservices

	# build targets one by one as paralell builds breaks
	make config-check && \
		make langstrs.h && \
		make ircservices && \
		make languages && \
		make tools
}

package() {
#	export INSTALL_PREFIX="$pkgdir"
	make -j1 \
		BINDEST="$pkgdir"/usr/bin \
		DATDEST="$pkgdir"/var/lib/ircservices \
		install

	install -d "$pkgdir"/usr/share/man/man8
	install docs/ircservices.8 "$pkgdir"/usr/share/man/man8/ircservices.8
	install docs/convert-db.8 \
		"$pkgdir"/usr/share/man/man8/ircservices-convert-db.8

	# try conform to FHS
	cd "$pkgdir"
	install -d etc/ircservices usr/share/ircservices var/log/ircservices

	mv var/lib/ircservices/convert-db usr/bin/ircservices-convert-db

	mv var/lib/ircservices/example-ircservices.conf \
		etc/ircservices/ircservices.conf
	ln -s /etc/ircservices/ircservices.conf \
		var/lib/ircservices/ircservices.conf

	mv var/lib/ircservices/example-modules.conf \
		etc/ircservices/modules.conf
	ln -s /etc/ircservices/modules.conf var/lib/ircservices/modules.conf

	mv var/lib/ircservices/languages \
		var/lib/ircservices/helpfiles \
		usr/share/ircservices/
	ln -s /usr/share/ircservices/languages var/lib/ircservices/
	ln -s /usr/share/ircservices/helpfiles var/lib/ircservices/

	install -Dm755 "$srcdir"/ircservices.initd \
		etc/init.d/ircservices

	chown ircservices:ircservices var/lib/ircservices \
		var/log/ircservices

	chown root:ircservices etc/ircservices/ircservices.conf \
		etc/ircservices/modules.conf
}

sha512sums="
1c1a0ec6d0e0a11071532e07792a15b1910fe108f09e991ca27e0196cfeec72e057a067fa69396b8647aca4ed8097c857eb8e714d8bee2ca6a0c5e27593fb06d  ircservices-5.1.24.tar.gz
009a60b44deb8e6fd894dbffe25c6c3d6ea9497c6295a3aed5c94e8856b42bfece544c72c6af5214e1f5845964643cc21d3dbdad7baf6af183796a54c9f94f9a  ircservices.initd
eec0bd8ec926df1e96532f329b82bf94c6331d6e081543d1c546e36debfbe808b649474deea9fab3912d0b08b50b9be1f63e302d3d9af50734e9fa1111eab03f  gcc-10.patch
2621ff571f30f7fe8ccc7476446ddbb4358d7425732fcd4d8e51c7d9bd8a9142a6796aabc719d98bffb2afdb5d617c58008059cba5f5b30d2e80ddbdba12ea69  gcc-14.patch
"
