Skip to content

Commit

Permalink
v2ray-core: Split packages
Browse files Browse the repository at this point in the history
Signed-off-by: kuoruan <[email protected]>
  • Loading branch information
kuoruan committed Feb 14, 2019
1 parent e017fe5 commit 17b62f8
Showing 1 changed file with 72 additions and 12 deletions.
84 changes: 72 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,36 @@ include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk

define Package/v2ray-core/Default
TITLE:=A platform for building proxies to bypass network restrictions
URL:=https://www.v2ray.com/
TITLE:=A platform for building proxies
URL:=https://www.v2ray.com
endef

define Package/v2ray-core/Default/description
Project V is a set of network tools that help you to build your own computer network.
It secures your network connections and thus protects your privacy.
endef

define project-v/SubMenu
SECTION:=net
CATEGORY:=Network
SUBMENU:=Project V
endef

define v2ray-core/GoBinDefault
$(call Package/v2ray-core/Default)
$(call project-v/SubMenu)
USERID:=v2ray=10800:v2ray=10800
DEPENDS:=$(GO_ARCH_DEPENDS)
endef

define v2ray-core/templates
define Package/$(1)
$$(call Package/v2ray-core/Default)
$$(call v2ray-core/GoBinDefault)
TITLE+= ($(1))
USERID:=v2ray=10800:v2ray=10800
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
DEPENDS:=$$(GO_ARCH_DEPENDS)
endef

define Package/$(1)/description
$(call Package/v2ray-core/Default/description)
$$(call Package/v2ray-core/Default/description)

This package contains the $(1).
endef
Expand All @@ -64,6 +72,53 @@ define v2ray-core/templates
endef
endef

V2RAY_COMPONENTS:=v2ray v2ctl

$(foreach component,$(V2RAY_COMPONENTS), \
$(eval $(call v2ray-core/templates,$(component))) \
)

define Package/v2ray-assets
$(call Package/v2ray-core/Default)
$(call project-v/SubMenu)
TITLE+= (geoip & geosite)
endef

define Package/v2ray-assets/description
$(call Package/v2ray-core/Default/description)

This package contains geoip.dat & geosite.dat.
endef

define Package/v2ray-assets/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/release/config/{geoip,geosite}.dat \
$(1)/usr/bin
endef

define Package/v2ray-core
$(call v2ray-core/GoBinDefault)
TITLE+= (full)
PROVIDES:=$(V2RAY_COMPONENTS) v2ray-assets
endef

define Package/v2ray-core/description
$(call Package/v2ray-core/Default/description)

This package contains v2ray, v2ctl and v2ray-assets.
endef

define Package/v2ray-core/install
$(call Package/v2ray-assets/install,$(1))
$(INSTALL_DIR) $(1)/usr/bin
( \
for component in $(V2RAY_COMPONENTS); do \
$(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/$$$$component $(1)/usr/bin ; \
done ; \
)
endef

define Package/golang-v2ray-core-dev
$(call Package/v2ray-core/Default)
$(call GoPackage/GoSubMenu)
Expand All @@ -74,7 +129,11 @@ endef
define Package/golang-v2ray-core-dev/description
$(call Package/v2ray-core/Default/description)

This package provides the source files for v2ray.
This package provides the source files for v2ray-core.
endef

define Build/Prepare
$(Build/Prepare/Default)
endef

define Build/Compile
Expand All @@ -87,13 +146,14 @@ define Build/Compile
mv -f $(GO_PKG_BUILD_BIN_DIR)/main $(GO_PKG_BUILD_BIN_DIR)/v2ctl
endef

V2RAY_COMPONENTS:=v2ray v2ctl

$(foreach component,$(V2RAY_COMPONENTS), \
$(eval $(call v2ray-core/templates,$(component))) \
$(eval $(call GoBinPackage,$(component))) \
$(eval $(call BuildPackage,$(component))) \
)
$(eval $(call BuildPackage,v2ray-assets))

$(eval $(call GoBinPackage,v2ray-core))
$(eval $(call BuildPackage,v2ray-core))
$(eval $(call GoSrcPackage,golang-v2ray-core-dev))
$(eval $(call BuildPackage,golang-v2ray-core-dev))

0 comments on commit 17b62f8

Please sign in to comment.