# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Julien Voisin <julien.voisin@dustri.org>
pkgname=weechat
pkgver=4.6.3
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="
60c3c7090e871fbdb0d4df4aed0f08faa8b669d5a442fb267942a58fd7151a73d1454bb54a54290b06cce71cc5dcbfb04b05efc85273c186a3168b09e39cd2bd  weechat-4.6.3.tar.xz
"
