maintainer="fossdd <fossdd@pwned.life>"
pkgname=chatterino2
pkgver=2.5.2
_crash_handler_commit=9753fe802710b2df00f2287ec2e1ca78c251d085
_libcommuni_commit=030710ad53dda1541601ccabbad36a12a9e90c78
_magicenum_commit=e55b9b54d5cf61f8e117cafb17846d7d742dd3b4
_miniaudio_commit=4a5b74bef029b3592c54b6048650ee5f972c1a48
_sanitizers_cmake_commit=0573e2ea8651b9bb3083f193c41eb086497cc80a
_serialize_commit=17946d65a41a72b447da37df6e314cded9650c32
_settings_commit=9e9c2f65f4ae195a96329a90fd6ae24c24fb8f2f
_signals_commit=d06770649a7e83db780865d09c313a876bf0f4eb
_websocketpp_commit=b9aeec6eaf3d5610503439b4fae3581d9aff08e8
pkgrel=0
pkgdesc="Chat client for twitch.tv"
url="https://chatterino.com/"
arch="all"
license="MIT"
makedepends="
	boost-dev
	cmake
	expected-lite
	openssl-dev
	qt6-qt5compat-dev
	qt6-qtbase-dev
	qt6-qtimageformats-dev
	qt6-qtsvg-dev
	qt6-qttools-dev
	qtkeychain-dev
	samurai
	rapidjson-dev
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/Chatterino/chatterino2/archive/refs/tags/v$pkgver.tar.gz
	$pkgname-crash-handler-$_crash_handler_commit.tar.gz::https://github.com/Chatterino/crash-handler/archive/$_crash_handler_commit.tar.gz
	$pkgname-serialize-$_serialize_commit.tar.gz::https://github.com/pajlada/serialize/archive/$_serialize_commit.tar.gz
	$pkgname-settings-$_settings_commit.tar.gz::https://github.com/pajlada/settings/archive/$_settings_commit.tar.gz
	$pkgname-signals-$_signals_commit.tar.gz::https://github.com/pajlada/signals/archive/$_signals_commit.tar.gz
	libcommuni-$_libcommuni_commit.tar.gz::https://github.com/Chatterino/libcommuni/archive/$_libcommuni_commit.tar.gz
	magicenum-$_magicenum_commit.tar.gz::https://github.com/Neargye/magic_enum/archive/$_magicenum_commit.tar.gz
	miniaudio-$_miniaudio_commit.tar.gz::https://github.com/mackron/miniaudio/archive/$_miniaudio_commit.tar.gz
	sanitizers-cmake-$_sanitizers_cmake_commit.tar.gz::https://github.com/arsenm/sanitizers-cmake/archive/$_sanitizers_cmake_commit.tar.gz
	websocketpp-$_websocketpp_commit.tar.gz::https://github.com/zaphoyd/websocketpp/archive/$_websocketpp_commit.tar.gz
	"
options="!check" # more complex: requires to start 2 servers: https://github.com/Chatterino/chatterino2/tree/master/tests

prepare() {
	default_prepare

	mv "$srcdir"/crash-handler-*/* "$srcdir"/chatterino2-$pkgver/tools/crash-handler/
	mv "$srcdir"/libcommuni-*/* "$srcdir"/chatterino2-$pkgver/lib/libcommuni/
	mv "$srcdir"/magic_enum-*/* "$srcdir"/chatterino2-$pkgver/lib/magic_enum/
	mv "$srcdir"/miniaudio-*/* "$srcdir"/chatterino2-$pkgver/lib/miniaudio/
	mv "$srcdir"/sanitizers-cmake-*/* "$srcdir"/chatterino2-$pkgver/cmake/sanitizers-cmake/
	mv "$srcdir"/serialize-*/* "$srcdir"/chatterino2-$pkgver/lib/serialize/
	mv "$srcdir"/settings-*/* "$srcdir"/chatterino2-$pkgver/lib/settings/
	mv "$srcdir"/signals-*/* "$srcdir"/chatterino2-$pkgver/lib/signals/
	mv "$srcdir"/websocketpp-*/* "$srcdir"/chatterino2-$pkgver/lib/websocketpp/
}

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=ON \
		-DCMAKE_BUILD_TYPE=None \
		-DUSE_SYSTEM_QTKEYCHAIN=ON \
		-DUSE_PRECOMPILED_HEADERS=OFF \
		-DBUILD_WITH_QT6=ON \
		-DCHATTERINO_UPDATER=OFF \
		$crossopts
	cmake --build build
}

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

sha512sums="
510f42d19c96796ac8d0108d2c0c957fcc69d4c460b42cca04a26c1ef72148a1d782cc3e8ae19035a9c7c64cfb7ead81b7d8e5e9cdf2a8c2ce8775778c0160cc  chatterino2-2.5.2.tar.gz
750564ad7bc49de839f4a34d8e9b9311d2f492ca125801ee6d1b07047a967542154511ea0e115a886a955775b5524e17489e58b79f1ba1af45c952da61ee413b  chatterino2-crash-handler-9753fe802710b2df00f2287ec2e1ca78c251d085.tar.gz
2ea660b6f164b8ba5b419e8381272dca507fcab09434421915a9b4be5e95cba08e72e708f16b3b22f5e0cae6dab2ef332d0a7976c287f048710e328d9a8913be  chatterino2-serialize-17946d65a41a72b447da37df6e314cded9650c32.tar.gz
ab99d3de67a75a2ded9d6a2310e8693d197fe53445816d9213b5d38d6e4f25abe3cf9a6e3b37ad909d0d5a58b603310443b702042d6b854109be96840d614ae9  chatterino2-settings-9e9c2f65f4ae195a96329a90fd6ae24c24fb8f2f.tar.gz
5489151f2d036dc8834346f902cf740e1b1b6823d385d2bc7c5d715af6911ade9ee383c591c48bdb8bdfca70890f48e8333ee39c6319d3871239f99d34a51cc9  chatterino2-signals-d06770649a7e83db780865d09c313a876bf0f4eb.tar.gz
4a056c6c69b5a6b1f29118034f7769de68f06c99549714272f515182e118bb744ba43956795ec42f1b283c89c30db53b19ac27988c31d185132ce71741e3b062  libcommuni-030710ad53dda1541601ccabbad36a12a9e90c78.tar.gz
466ba8e6e9122e55fb49b1a842b3f88ddc5faa5ea096df445dec1feba0c9db09748e735874b7839bf5f822f39480fa556a6bfaac0855c065df23b00ce45c5b3d  magicenum-e55b9b54d5cf61f8e117cafb17846d7d742dd3b4.tar.gz
d9328238e738280fccc34ae0d6d6ac68a171a30aef53defd5d74b6991b1c8dd63d0d433ede52d50f191984cefdabf414913b3f458d39a4fe16e0ade4beefaf7a  miniaudio-4a5b74bef029b3592c54b6048650ee5f972c1a48.tar.gz
80d1c471492a771b12291e36cc7523e65c8f9add5b14643c9554156bbcc3e1753772054998306c3f89d33b7f5c9969e89670e16428a72040033b41329c9cb71b  sanitizers-cmake-0573e2ea8651b9bb3083f193c41eb086497cc80a.tar.gz
5449a10086c1b80d0d2865bac90539f64613156050816e97a2da1a2bc1f6710ac72305747e839a13e49b2ce1b25610480c110743aef60d7d148f2c39339289c4  websocketpp-b9aeec6eaf3d5610503439b4fae3581d9aff08e8.tar.gz
"
