OSDN Git Service

v2raya: backport upstream fixes
[v2raya/v2raya-openwrt.git] / v2raya / Makefile
1 # SPDX-License-Identifier: GPL-3.0-only
2 #
3 # Copyright (C) 2021 ImmortalWrt.org
4
5 include $(TOPDIR)/rules.mk
6
7 PKG_NAME:=v2rayA
8 PKG_VERSION:=1.5.9.1698.1
9 PKG_RELEASE:=$(AUTORELEASE)
10
11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
12 PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)?
13 PKG_HASH:=247a357230c616bf48309c61d119686e4ad56939c05afef584c45051e9dc6220
14 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service
15
16 PKG_LICENSE:=AGPL-3.0-only
17 PKG_LICENSE_FILES:=LICENSE
18 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
19
20 PKG_BUILD_DEPENDS:=golang/host
21 PKG_BUILD_PARALLEL:=1
22 PKG_USE_MIPS16:=0
23
24 GO_PKG:=github.com/v2rayA/v2rayA
25 GO_PKG_LDFLAGS_X:=$(GO_PKG)/conf.Version=$(PKG_VERSION)
26
27 include $(INCLUDE_DIR)/package.mk
28 include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
29
30 TAR_OPTIONS+= --strip-components 1
31 TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS)
32
33 define Package/v2raya
34   TITLE:=A Linux web GUI client of Project V
35   SECTION:=net
36   CATEGORY:=Network
37   SUBMENU:=Web Servers/Proxies
38   DEPENDS:=$(GO_ARCH_DEPENDS) \
39     +ca-bundle \
40     +iptables-mod-conntrack-extra \
41     +iptables-mod-extra \
42     +iptables-mod-filter \
43     +iptables-mod-tproxy \
44     +kmod-ipt-nat6
45   URL:=https://v2raya.org
46 endef
47
48 define Package/v2raya/description
49   v2rayA is a V2Ray Linux client supporting global transparent proxy,
50   compatible with SS, SSR, Trojan(trojan-go), PingTunnel protocols.
51 endef
52
53 define Package/v2raya/conffiles
54 /etc/v2raya/
55 /etc/config/v2raya
56 endef
57
58 WEB_FILE:=v2raya-web-$(PKG_VERSION).tar.gz
59 define Download/v2raya-web
60         URL:=https://codeload.github.com/v2rayA/v2raya-web/tar.gz/v$(PKG_VERSION)?
61         URL_FILE:=$(WEB_FILE)
62         FILE:=$(WEB_FILE)
63         HASH:=149097a42c3e5fa6f5c3cd46d1bf7ec4546e79ad37c1446b759539e700bd75e2
64 endef
65
66 GO_PKG_TARGET_VARS:=$(filter-out CGO_ENABLED=%,$(GO_PKG_TARGET_VARS)) CGO_ENABLED=0
67
68 define Build/Prepare
69         $(call Build/Prepare/Default)
70
71         ( \
72                 mkdir -p $(PKG_BUILD_DIR)/server/router/web ; \
73                 gzip -dc $(DL_DIR)/$(WEB_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/server/router/web $(TAR_OPTIONS) ; \
74         )
75 endef
76
77 define Package/v2raya/install
78         $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
79         $(INSTALL_DIR) $(1)/usr/bin/
80         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/v2rayA $(1)/usr/bin/v2raya
81
82         $(INSTALL_DIR) $(1)/etc/config/
83         $(INSTALL_CONF) $(CURDIR)/files/v2raya.config $(1)/etc/config/v2raya
84         $(INSTALL_DIR) $(1)/etc/init.d/
85         $(INSTALL_BIN) $(CURDIR)/files/v2raya.init $(1)/etc/init.d/v2raya
86 endef
87
88 $(eval $(call Download,v2raya-web))
89 $(eval $(call GoBinPackage,v2raya))
90 $(eval $(call BuildPackage,v2raya))