# Maintainer: Kimiblock Moe

pkgname=mihomo
pkgver=1.19.29
pkgrel=1
pkgdesc="Another Clash Kernel by MetaCubeX, formerly known as Clash.Meta"
arch=("x86_64" 'aarch64')
url="https://github.com/MetaCubeX/mihomo"
license=("MIT")
depends=('glibc' 'bash' 'clash-geoip')
makedepends=('go' 'clash-geoip')
conflicts=('clash-meta')
provides=('clash-meta')
backup=('etc/mihomo/config.yaml')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
	"${pkgname}.service"
	"config.yaml"
	start.sh)
sha256sums=('1db1cd49c233b67701b596fbd8a963f418ebeca4cb497f38a0e7cd706ea4c630'
            '89be75f803bbeb417888d8e1ff48e30e73312cb4776f2253c3e4e84ead55a58b'
            '90f7fdacecd5928e37865b4f841517f925c8bedc769f16f7a7a1e89b923f1fb9'
            '25a7ddd318fcfc23ee0e7ec23de43a0ec5cd54e95ebdc256d1a7ab67c486fa36')

build(){
	cd "${srcdir}"/mihomo-${pkgver}
	BUILDTIME=$(date -u --rfc-3339=seconds)
	GOOS=linux go build \
		-trimpath \
		-buildmode=pie \
		-mod=readonly \
		-modcacherw \
		-ldflags "-linkmode external -extldflags \"${LDFLAGS}\" \
		-X \"github.com/metacubex/mihomo/constant.Version=${pkgver}\" \
		-X \"github.com/metacubex/mihomo/constant.BuildTime=${BUILDTIME}\" \
		" \
		-tags with_gvisor -o ${pkgname}-${pkgver}
}
package() {
	install -vDm755 "${srcdir}/start.sh" "${pkgdir}/usr/lib/mihomo/start"
	install -vDm600 "${srcdir}/config.yaml" "${pkgdir}/etc/mihomo/config.yaml"
	install -vDm644 "${srcdir}/${pkgname}.service"  -t "${pkgdir}/usr/lib/systemd/system"
	cd "${srcdir}"/mihomo-${pkgver}
	install -vDm644 LICENSE "${pkgdir}/usr/share/licenses/mihomo/LICENSE"
	install -vDm755 "${pkgname}-${pkgver}" "${pkgdir}/usr/bin/${pkgname}"
	ln -sf /etc/clash/Country.mmdb ${pkgdir}/etc/${pkgname}/Country.mmdb
	# Compability with applications executing /usr/bin/clash-meta
	ln -sf /usr/bin/mihomo ${pkgdir}/usr/bin/clash-meta
}
