summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4dd1946a7829065d6606cf75c420f455d35ef699 (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
# Maintainer: mzz2017 <mzz@tuta.io>

pkgname=v2raya-git
pkgver=20230204.r1293.d626ba1
pkgrel=1
install=.INSTALL
pkgdesc="v2rayA nightly version"
arch=('i686' 'x86_64' 'armv7h' 'armv6h' 'aarch64')
url="https://github.com/v2rayA/v2rayA"
license=('GPL3')
depends=('glibc')
makedepends=('git' 'go>=2:1.17.0-1' 'nodejs>=17' 'yarn')
provides=('v2raya')
conflicts=('v2raya')
backup=("etc/default/v2raya")
source=("$pkgname::git+$url")
sha512sums=('SKIP')


pkgver() {
    cd "$srcdir"/"$pkgname"
    local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
    local count=$(git rev-list --count HEAD)
    local commit=$(git rev-parse --short HEAD)
    echo "$date.r${count}.$commit"
}

build() {
    cd "$srcdir/$pkgname/gui"
    # https://github.com/webpack/webpack/issues/14532#issuecomment-947012063
    export NODE_OPTIONS=--openssl-legacy-provider
    yarn --check-files
    export OUTPUT_DIR="$srcdir/$pkgname/service/server/router/web"
    yarn build

    cd "$srcdir/$pkgname/service"
    export GO111MODULE=on
    export GOPROXY=https://goproxy.cn,direct
    go build -ldflags '-X github.com/v2rayA/v2rayA/conf.Version=unstable-'"$(pkgver)"' -s -w' -o v2raya

    # generate default config
    cat > "$srcdir/v2raya.conf" << EOF
# v2raya config example
# Everything has defaults so you only need to uncomment things you want to
# change
EOF
    set -o pipefail
    chmod +x ./v2raya
    ./v2raya --report config | sed '1,6d' | fold -s -w 78 | sed -E 's/^([^#].+)/# \1/'  >> "$srcdir/v2raya.conf"
}

package() {
    depends+=('v2ray>=5.0.0')

    cd "${srcdir}"/"${pkgname}"/
    install -Dm 755 service/v2raya -t "${pkgdir}"/usr/bin/
    install -dm 750 "${pkgdir}"/etc/v2raya/
    install -Dm 644 install/universal/v2raya.desktop -t "${pkgdir}"/usr/share/applications/
    install -Dm 644 install/universal/v2raya.service -t "${pkgdir}"/usr/lib/systemd/system/
    install -Dm 644 install/universal/v2raya-lite.service -t "${pkgdir}"/usr/lib/systemd/user/
    install -Dm 644 gui/public/img/icons/android-chrome-512x512.png "${pkgdir}"/usr/share/icons/hicolor/512x512/apps/v2raya.png
    install -Dm 644 "${srcdir}"/v2raya.conf "${pkgdir}"/etc/default/v2raya
}