shadowsocks-libev: configure options for release build
[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 TCP_ONLY
14 # - check if ss-rules has been upstreamed
15 #
16 # TODO
17 #
18 # - add validate type: user
19 #
20 PKG_NAME:=shadowsocks-libev
21 PKG_VERSION:=3.0.7
22 PKG_RELEASE:=2
23
24 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
25 PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
26 PKG_HASH:=024f2ff501e15ad0cd03dcbac5ca1842aad13dbd51788e522818ff4c129dee18
27
28 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
29
30 PKG_LICENSE:=GPL-3.0+
31 PKG_LICENSE_FILES:=LICENSE
32
33 PKG_FIXUP:=autoreconf
34 PKG_INSTALL:=1
35 PKG_USE_MIPS16:=0
36 PKG_BUILD_PARALLEL:=1
37
38 include $(INCLUDE_DIR)/package.mk
39
40
41 define Package/shadowsocks-libev-config
42 SECTION:=net
43 CATEGORY:=Network
44 SUBMENU:=Web Servers/Proxies
45 TITLE:=shadowsocks-libev config scripts
46 URL:=https://github.com/shadowsocks/shadowsocks-libev
47 endef
48
49 define Package/shadowsocks-libev-config/install
50 $(INSTALL_DIR) $(1)/etc/config
51 $(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
52 $(INSTALL_DIR) $(1)/etc/init.d
53 $(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
54 endef
55
56
57 define Package/shadowsocks-libev/Default
58 define Package/shadowsocks-libev-$(1)
59 SECTION:=net
60 CATEGORY:=Network
61 SUBMENU:=Web Servers/Proxies
62 TITLE:=shadowsocks-libev $(1)
63 URL:=https://github.com/shadowsocks/shadowsocks-libev
64 DEPENDS:=+libev +libmbedtls +libpcre +libpthread +libsodium +libudns +shadowsocks-libev-config +zlib
65 endef
66
67 define Package/shadowsocks-libev-$(1)/install
68 $$(INSTALL_DIR) $$(1)/usr/bin
69 $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
70 endef
71
72 endef
73
74 SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
75 define shadowsocks-libev/templates
76 $(foreach component,$(SHADOWSOCKS_COMPONENTS),
77 $(call Package/shadowsocks-libev/Default,$(component))
78 )
79 endef
80 $(eval $(call shadowsocks-libev/templates))
81
82
83 define Package/shadowsocks-libev-ss-rules
84 SECTION:=net
85 CATEGORY:=Network
86 SUBMENU:=Web Servers/Proxies
87 TITLE:=shadowsocks-libev ss-rules
88 URL:=https://github.com/shadowsocks/shadowsocks-libev
89 DEPENDS:=+ip +ipset +iptables-mod-tproxy +shadowsocks-libev-ss-redir +shadowsocks-libev-config
90 endef
91
92 define Package/shadowsocks-libev-ss-rules/install
93 $(INSTALL_DIR) $(1)/usr/bin
94 $(INSTALL_BIN) ./files/ss-rules $(1)/usr/bin
95 $(INSTALL_DIR) $(1)/etc/uci-defaults
96 $(INSTALL_DATA) ./files/firewall.ss-rules $(1)/etc
97 $(INSTALL_BIN) ./files/ss-rules.defaults $(1)/etc/uci-defaults
98 endef
99
100 define Package/shadowsocks-libev-ss-rules/prerm
101 #!/bin/sh
102 s=firewall.ss_rules
103 uci get "$$s" >/dev/null || exit 0
104 uci batch <<-EOF
105 delete $$s
106 commit firewall
107 EOF
108 endef
109
110 CONFIGURE_ARGS += \
111 --disable-documentation \
112 --disable-silent-rules \
113 --disable-assert \
114 --disable-ssp \
115
116 $(eval $(call BuildPackage,shadowsocks-libev-config))
117 $(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
118 $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
119 $(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
120 )