# Maintainer: RocketDev <ma2014119@outlook.com>
# Contributor: Dct Mei <dctxmei@yandex.com>

pkgname=v2raya
_pkgname=v2rayA
pkgver=2.2.7.5
epoch=2
pkgrel=2
pkgdesc="A web GUI client of Project V which supports VMess, VLESS, SS, SSR, Trojan and Pingtunnel protocols"
arch=('x86_64')
url="https://github.com/v2rayA/v2rayA"
license=('AGPL-3.0-only')
depends=('glibc' 'v2raya-core' 'hicolor-icon-theme')
makedepends=('git' 'go' 'nodejs-lts-jod' 'yarn')
backup=("etc/default/v2raya")
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz"
        "v2raya.default")
b2sums=('76a5356f77b71fab8d0fe5ad3092556d49d7b7d74dcdd4e2c26f519ef3441b93276fe624d23ba876550e616adb129bdb4cadffd75a0f76082e706675fd336b45'
        '3a7be361041f2eda3fe36bb69268c316caf307bf3ec4f5d7b05bd994dd27032b2fc812d7776a669db471dda61594cc3f4fb98570e1abfe29758e1f4b8aea94b6')

build() {
    cd "${_pkgname}-${pkgver}/gui"
    export OUTPUT_DIR="${srcdir}/${_pkgname}-${pkgver}/service/server/router/web/"
    yarn cache clean
    yarn install
    yarn build

    cd ../service
    export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
    export CGO_CPPFLAGS="${CPPFLAGS}"
    export CGO_CXXFLAGS="${CXXFLAGS}"
    export CGO_CFLAGS="${CFLAGS}"
    export CGO_LDFLAGS="${LDFLAGS}"
    go build -ldflags="-X=github.com/v2rayA/v2rayA/conf.Version=${pkgver} -linkmode=external" -o v2raya

    # generate default config
    ./v2raya --report config | sed '1,6d' | fold -s -w 78 | sed -E 's/^([^#].+)/# \1/' >> "${srcdir}"/v2raya.default
}

package() {
    cd "${_pkgname}-${pkgver}"
    install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/v2raya/
    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.default "${pkgdir}"/etc/default/v2raya
}
