# Maintainer: Integral <integral@member.fsf.org>
# Contributor: txtsd <aur.archlinux@ihavea.quest>

pkgname=dissent-git
_pkgname=${pkgname%-git}
pkgver=0.0.37.r3.gf723d97
pkgrel=1
pkgdesc="Discord client written in go and gtk4"
arch=('x86_64' 'aarch64')
url="https://github.com/diamondburned/${_pkgname}"
license=('GPL-3.0-or-later')
depends=('gtk4' 'gobject-introspection' 'libadwaita' 'gtksourceview5' 'libspelling')
provides=("${_pkgname}" "gtkcord4")
conflicts=("${_pkgname}" "gtkcord4")
replaces=("gtkcord4-git")
makedepends=('git' 'go')
source=("git+${url}.git")
sha256sums=('SKIP')

pkgver() {
	cd "${_pkgname}/"
	git describe --long --tags --abbrev=7 --match 'v[0-9]*' | sed -e 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
	cd "${_pkgname}/"
	export GOPATH="${srcdir}"
	go mod download -modcacherw -x
	mkdir build
}

build() {
	cd "${_pkgname}/"

	export CGO_CPPFLAGS="${CPPFLAGS}"
	export CGO_CFLAGS="${CFLAGS}"
	export CGO_CXXFLAGS="${CXXFLAGS}"
	export CGO_LDFLAGS="${LDFLAGS}"
	export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
	go build -o build
}

package() {
	cd "${_pkgname}/"
	install -Dm755 "build/${_pkgname}" -t "${pkgdir}/usr/bin/"
	install -Dm644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${_pkgname}/"
	sed -i "/DBusActivatable=/d;/Icon=/c\Icon=so.libdb.${_pkgname}.Devel" "nix/so.libdb.${_pkgname}.desktop"
	install -Dm644 "nix/so.libdb.${_pkgname}.desktop" -t "${pkgdir}/usr/share/applications/"
	install -Dm644 "internal/icons/hicolor/scalable/apps/so.libdb.${_pkgname}.Devel.svg" -t "${pkgdir}/usr/share/icons/hicolor/scalable/apps/"
}
