shadowsocks-libev: ss-rules: eliminiate not needed local var
[feed/packages.git] / net / shadowsocks-libev / Makefile
1 #
2 # Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 # Checklist when bumping versions
11 #
12 # - update cipher list by checking src/crypto.c:crypto_init()
13 # - check if default mode has changed from being tcp_only
14 #
15 PKG_NAME:=shadowsocks-libev
16 PKG_VERSION:=3.0.8
17 PKG_RELEASE:=16
18
19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
20 PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
21 PKG_HASH:=3bdf7f8f89050aee896496fd86b6b7ef694754f0b8cd97c4b5a04d1d3e5c2e5b
22
23 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
24
25 PKG_LICENSE:=GPL-3.0+
26 PKG_LICENSE_FILES:=LICENSE
27
28 PKG_FIXUP:=autoreconf
29 PKG_INSTALL:=1
30 PKG_USE_MIPS16:=0
31 PKG_BUILD_PARALLEL:=1
32
33 include $(INCLUDE_DIR)/package.mk
34
35
36 define Package/shadowsocks-libev-config
37 SECTION:=net
38 CATEGORY:=Network
39 SUBMENU:=Web Servers/Proxies
40 TITLE:=shadowsocks-libev config scripts
41 URL:=https://github.com/shadowsocks/shadowsocks-libev
42 endef
43
44 define Package/shadowsocks-libev-config/install
45 $(INSTALL_DIR) $(1)/etc/config
46 $(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
47 $(INSTALL_DIR) $(1)/etc/init.d
48 $(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
49 endef
50
51
52 define Package/shadowsocks-libev/Default
53 define Package/shadowsocks-libev-$(1)
54 SECTION:=net
55 CATEGORY:=Network
56 SUBMENU:=Web Servers/Proxies
57 TITLE:=shadowsocks-libev $(1)
58 URL:=https://github.com/shadowsocks/shadowsocks-libev
59 DEPENDS:=+libev +libmbedtls +libpcre +libpthread +libsodium +libudns +shadowsocks-libev-config +zlib
60 endef
61
62 define Package/shadowsocks-libev-$(1)/install
63 $$(INSTALL_DIR) $$(1)/usr/bin
64 $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
65 endef
66
67 endef
68
69 SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
70 define shadowsocks-libev/templates
71 $(foreach component,$(SHADOWSOCKS_COMPONENTS),
72 $(call Package/shadowsocks-libev/Default,$(component))
73 )
74 endef
75 $(eval $(call shadowsocks-libev/templates))
76
77
78 define Package/shadowsocks-libev-ss-rules
79 SECTION:=net
80 CATEGORY:=Network
81 SUBMENU:=Web Servers/Proxies
82 TITLE:=shadowsocks-libev ss-rules
83 URL:=https://github.com/shadowsocks/shadowsocks-libev
84 DEPENDS:=+ip +ipset +iptables-mod-tproxy +resolveip +shadowsocks-libev-ss-redir +shadowsocks-libev-config
85 endef
86
87 define Package/shadowsocks-libev-ss-rules/install
88 $(INSTALL_DIR) $(1)/usr/bin
89 $(INSTALL_BIN) ./files/ss-rules $(1)/usr/bin
90 $(INSTALL_DIR) $(1)/etc/uci-defaults
91 $(INSTALL_DATA) ./files/firewall.ss-rules $(1)/etc
92 $(INSTALL_BIN) ./files/ss-rules.defaults $(1)/etc/uci-defaults
93 endef
94
95 define Package/shadowsocks-libev-ss-rules/prerm
96 #!/bin/sh
97 s=firewall.ss_rules
98 uci get "$$s" >/dev/null || exit 0
99 uci batch <<-EOF
100 delete $$s
101 commit firewall
102 EOF
103 endef
104
105 define Build/Prepare
106 $(call Build/Prepare/Default)
107 $(FIND) $(PKG_BUILD_DIR) \
108 -name '*.o' \
109 -o -name '*.lo' \
110 -o -name '.deps' \
111 -o -name '.libs' \
112 | $(XARGS) rm -rvf
113 endef
114
115 CONFIGURE_ARGS += \
116 --disable-documentation \
117 --disable-silent-rules \
118 --disable-assert \
119 --disable-ssp \
120
121 $(eval $(call BuildPackage,shadowsocks-libev-config))
122 $(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
123 $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
124 $(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
125 )