# Maintainer: Integral <integral@member.fsf.org>

pkgname=danxi
pkgver=1.5.2
pkgrel=1
pkgdesc="Maybe the best all-rounded service app for Fudan University students | 可能是复旦学生最好的第三方校园服务 APP"
url="https://github.com/DanXi-Dev/DanXi"
license=('GPL-3.0-or-later')
arch=('x86_64')
depends=('gtk3' 'libsecret' 'gnome-keyring' 'wpewebkit')
makedepends=('git' 'clang' 'cmake' 'ninja' 'fvm' 'imagemagick' 'patchelf')
source=("git+${url}.git#tag=v${pkgver}")
sha256sums=('84c517afee7b66dfcd137c6aed17c618fd03e05ebd5113354ef26b1bd537c5d0')

prepare() {
	cd DanXi
	fvm install stable
	fvm use stable
	fvm flutter --disable-analytics
	fvm flutter --no-version-check pub get
}

build() (
	cd DanXi
	export CXXFLAGS+=" -Wno-error=unused-result"
	fvm dart --disable-analytics
	fvm dart run intl_utils:generate
	fvm dart build_release.dart --target linux --versionCode dummy
)

package() {
	cd DanXi

	pushd build/linux/x64/release
	install -Dm755 bundle/dan_xi -t "${pkgdir}/usr/lib/${pkgname}/"
	cmake -DCMAKE_INSTALL_PREFIX="${pkgdir}/usr/lib/${pkgname}" .
	cmake -P cmake_install.cmake
	popd

	# Reset RUNPATH
	patchelf --set-rpath '$ORIGIN' ${pkgdir}/usr/lib/${pkgname}/lib/*.so

	# Symlink
	install -dm755 "${pkgdir}/usr/bin"
	ln -s "/usr/lib/${pkgname}/dan_xi" "${pkgdir}/usr/bin/dan_xi"

	# Icon
	for r in 16 24 32 48 64 128 256 512; do
		install -dm755 "${pkgdir}/usr/share/icons/hicolor/${r}x${r}/apps/"
		magick packaging/dan_xi.png -resize "${r}x${r}" "${pkgdir}/usr/share/icons/hicolor/${r}x${r}/apps/dan_xi.png"
	done

	# Desktop Launcher
	install -Dm644 "packaging/io.github.danxi_dev.dan_xi.desktop" "${pkgdir}/usr/share/applications/dan_xi.desktop"
}
