# Contributor: Fabricio Silva <hi@fabricio.dev>
# Contributor: tetsumaki <yd-alpine@tetsumaki.net>
maintainer="Fabricio Silva <hi@fabricio.dev>"
pkgname=adguardhome
pkgver=0.107.61
pkgrel=1
pkgdesc="Network-wide ads & trackers blocking DNS server"
url="https://adguard.com/adguard-home.html"
arch="all !loongarch64" # loongarch64: panic: runtime error: invalid memory address or nil pointer dereference
license="GPL-3.0-only"
options="net" # net for go
depends="ca-certificates"
makedepends="go"
checkdepends="tzdata"
subpackages="$pkgname-openrc"
install="$pkgname.pre-install"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/AdguardTeam/AdGuardHome/archive/v$pkgver.tar.gz
	$pkgname-frontend-$pkgver.tar.gz::https://github.com/AdguardTeam/AdGuardHome/releases/download/v$pkgver/AdGuardHome_frontend.tar.gz
	adguardhome.initd
	adguardhome.confd
	cap_check.patch
	"
builddir="$srcdir/AdGuardHome-$pkgver"
pkgusers="adguardhome"
pkggroups="adguardhome"

prepare() {
	default_prepare

	# frontend pre-built files (symlink dont work)
	rm -rf build/static
	cp -al "$srcdir"/build/static build/static

	go mod download
}

build() {
	go build -o bin/adguardhome -trimpath -ldflags "-s -w
		-X github.com/AdguardTeam/AdGuardHome/internal/version.version=v$pkgver
		-X github.com/AdguardTeam/AdGuardHome/internal/version.channel=release
		-X github.com/AdguardTeam/AdGuardHome/internal/version.committime=${SOURCE_DATE_EPOCH:-$(date +%s)}
		"
}

check() {
	go test ./...
}

package() {
	install -Dm754 -o adguardhome -g adguardhome bin/adguardhome -t "$pkgdir"/usr/bin/

	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}

sha512sums="
6f99aa776190ef93226606c37977f1778cd92cd3e851406be7a0bf597df692d7106e91448550760ca2b3ec9152ec902c17deea2506e00e3a7623a11bcbab025c  adguardhome-0.107.61.tar.gz
f9df85f9b7661e7ac7c7d3860a746bed33aa329c183ffb2f3836ebe6e418be2fac378bc742fd8bd9361dbfc91d9a561af5e140189e62c650f104666bfecc0f4a  adguardhome-frontend-0.107.61.tar.gz
350cf4a5d7c6dbb46cbdd973de7cbd490e873a03f8c78815d9d7e95f88167676c6387f055aedf0ec085e6d214605bee2e8899a65810fb364c35d522d91e5567a  adguardhome.initd
f7b7365079b901cbc08c4d0553160a7e5f15205b509e8dc867351338153820acb705807763c12cd66f5120dfa1c008c04a2f01c60331951146f4938791dfea32  adguardhome.confd
b0dde70e9fc1ee40916233d884de2d8fae1a29b6036160334497b02ba7061e009b53b98cc49aae5dfde93d6226657a73ef833e2452e91a41f54bf74fdb8dbcb3  cap_check.patch
"
