# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Julien Voisin <julien.voisin@dustri.org>
pkgname=weechat
pkgver=4.4.1
pkgrel=0
pkgdesc="Fast, light, extensible ncurses-based chat client"
url="https://weechat.org"
arch="all"
options="!check" # test suite runs "sudo make install"
license="GPL-3.0-or-later"
depends_dev="
	aspell-dev
	cjson-dev
	curl-dev
	gettext-dev
	gnutls-dev
	libgcrypt-dev
	lua-dev
	ncurses-dev
	perl-dev
	python3-dev
	zlib-dev
	zstd-dev
	"
makedepends="
	$depends_dev
	asciidoctor
	cmake
	samurai
	"
subpackages="
	$pkgname-dev
	$pkgname-doc
	$pkgname-lang
	$pkgname-spell:_plugin
	$pkgname-lua:_plugin
	$pkgname-perl
	$pkgname-python:_plugin
	"
source="https://www.weechat.org/files/src/weechat-$pkgver.tar.xz
	"

# secfixes:
#   1.7.1-r0:
#     - CVE-2017-8073
#   1.9.1-r0:
#     - CVE-2017-14727
#   2.7.1-r0:
#     - CVE-2020-8955

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DENABLE_MAN=ON \
		-DENABLE_TCL=OFF \
		-DENABLE_GUILE=OFF \
		-DENABLE_JAVASCRIPT=OFF \
		-DENABLE_PHP=OFF \
		-DENABLE_RUBY=OFF
	cmake --build build
}

check() {
	./tools/build-test.sh cmake
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

_plugin() {
	local _name=${subpkgname#*-}
	local _dir=usr/lib/weechat/plugins

	pkgdesc="WeeChat $_name plugin"
	depends="weechat"

	# as of 2.5 aspell has been renamed to spell on weechat upstream
	# since it now supports enchant as well, rename the subpackage and
	# replace the old one
	if [ "$_name" = spell ]; then
		replaces="$pkgname-aspell"
		provides="$pkgname-aspell=$pkgver-r$pkgrel"
	fi

	amove $_dir/"$_name".so
}

perl() {
	_plugin
	depends="$depends perl-pod-parser"
}

sha512sums="
75b1fc21674229f11f9d5d049b663dee77e65529b5dfe62744e7afd0f0854afa4344b56f26d91fe9378ccece932e05e57e9bce4e1d7515d4d26fdffbf2f2a55b  weechat-4.4.1.tar.xz
"
