blob: 45e55b0ef95fac9ca9ec03e5b37035c09064cee0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# Maintainer: sukanka <su975853527 at gmail dot com>
pkgname=clash-meta
pkgver=1.18.2
pkgrel=1
pkgdesc="Another Clash Kernel"
arch=(x86_64)
url="https://github.com/MetaCubeX/mihomo"
license=(GPL-3.0-or-later)
depends=(clash-geoip glibc)
makedepends=(go)
backup=('etc/clash-meta/config.yaml')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
"https://raw.githubusercontent.com/MetaCubeX/Meta-Docs/main/docs/example/yaml"
"https://raw.githubusercontent.com/MetaCubeX/mihomo/Alpha/.github/mihomo.service")
# Please remove the line once the upstream Meta branch contains mihomo.service file
sha256sums=('49855c53e5717932b9cb933e7f42f58155b52a42bf7db7f35f1fb1d4baa7ee00'
'25a125934bf524b340ec0bfe9be258f41b3ee55b0b23555f1c83ea3a3e776c4f'
'7d2f6de01adbb5dbe7e0d2a00582467faafdb08dce74dd32675cfd94dcbae014')
prepare(){
cd "$srcdir"
mv mihomo-$pkgver $pkgname
mv yaml $pkgname/config.yaml
mv mihomo.service $pkgname/mihomo.service
}
build(){
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_ENABLED=1
cd "$srcdir/$pkgname"
BUILDTIME=$(date -u)
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
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" mihomo.service
}
check() {
cd "$srcdir/$pkgname"
go test ./...
}
package() {
cd "$srcdir/$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 config.yaml "$pkgdir/etc/clash-meta/config.yaml"
install -Dm644 mihomo.service "$pkgdir/usr/lib/systemd/system/clash-meta.service"
ln -s /etc/clash/Country.mmdb "$pkgdir/etc/$_pkgname/Country.mmdb"
}
|