# Maintainer: Roald Clark pkgname=clash-meta-alpha-git _pkgname=clash-meta pkgver=2024032914.72d09482 pkgrel=1 pkgdesc="Another Clash Kernel by MetaCubeX (git virsion)" arch=(x86_64) url="https://github.com/MetaCubeX/mihomo" license=(GPL-3.0-or-later) depends=(clash-geoip glibc) makedepends=(git go) provides=(clash-meta clash-meta-alpha) conflicts=(clash-meta clash-meta-alpha) backup=('etc/clash-meta/config.yaml') source=("$_pkgname::git+$url.git#branch=Alpha") sha256sums=('SKIP') pkgver() { cd "$_pkgname" TZ=UTC git log -1 --pretty=format:"%cd.%h" --date=format:"%Y%m%d%H" } prepare() { cd "$_pkgname" mv .github/mihomo.service "$_pkgname.service" } build() { export CGO_CPPFLAGS="${CPPFLAGS}" export CGO_CFLAGS="${CFLAGS}" export CGO_CXXFLAGS="${CXXFLAGS}" export CGO_LDFLAGS="${LDFLAGS}" export CGO_ENABLED=1 cd "$_pkgname" NAME=clash-meta BUILDTIME=$(date -u --rfc-3339=seconds) LDFLAGS="-linkmode external -extldflags \"${LDFLAGS}\"" OTHER_FLAGS="-X \"github.com/metacubex/mihomo/constant.Version=${pkgver}\" \ -X \"github.com/metacubex/mihomo/constant.BuildTime=${BUILDTIME}\"" GOOS=linux go build \ -trimpath \ -buildmode=pie \ -mod=readonly \ -modcacherw \ -ldflags "$LDFLAGS $OTHER_FLAGS" \ -tags with_gvisor \ -o "$_pkgname-$pkgver" echo "u $_pkgname - \"Clash-Meta Service\" - -" > "$_pkgname.sysusers" echo "d /etc/$_pkgname 0755 $_pkgname $_pkgname -" > "$_pkgname.tmpfiles" echo "d /var/log/$_pkgname 0700 $_pkgname $_pkgname -" >> "$_pkgname.tmpfiles" sed -i -e '/Description/s/mihomo/Clash-Meta/' \ -e "s/mihomo/$_pkgname/g" \ -e "/^Type=simple/a User=$_pkgname" \ -e "/^Type=simple/a Group=$_pkgname" "$_pkgname.service" } check() { cd "$_pkgname" go test ./... } package() { cd "$_pkgname" install -Dm755 "$_pkgname-$pkgver" "$pkgdir/usr/bin/clash-meta" install -Dm644 "$_pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf" install -Dm644 "$_pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf" install -Dm644 docs/config.yaml "$pkgdir/etc/clash-meta/config.yaml" install -Dm644 "$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service" ln -s /etc/clash/Country.mmdb "$pkgdir/etc/$_pkgname/Country.mmdb" }