unbound: update to version 1.17.1
[feed/packages.git] / net / shadowsocks-libev / Makefile
1 #
2 # Copyright (C) 2017-2020 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.3.5
17 PKG_RELEASE:=7
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:=cfc8eded35360f4b67e18dc447b0c00cddb29cc57a3cec48b135e5fb87433488
22
23 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
24
25 PKG_LICENSE:=GPL-3.0-or-later
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 PKG_BUILD_DEPENDS:=c-ares pcre
33
34 include $(INCLUDE_DIR)/package.mk
35
36
37 define Package/shadowsocks-libev-config
38 SECTION:=net
39 CATEGORY:=Network
40 SUBMENU:=Web Servers/Proxies
41 TITLE:=shadowsocks-libev config scripts
42 URL:=https://github.com/shadowsocks/shadowsocks-libev
43 endef
44
45 define Package/shadowsocks-libev-config/conffiles
46 /etc/config/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 +libpthread +libsodium +shadowsocks-libev-config $(DEPENDS_$(1))
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 DEPENDS_ss-local = +libpcre
75 DEPENDS_ss-server = +libcares +libpcre
76
77 SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
78 define shadowsocks-libev/templates
79 $(foreach component,$(SHADOWSOCKS_COMPONENTS),
80 $(call Package/shadowsocks-libev/Default,$(component))
81 )
82 endef
83 $(eval $(call shadowsocks-libev/templates))
84
85
86 define Package/shadowsocks-libev-ss-rules
87 SECTION:=net
88 CATEGORY:=Network
89 SUBMENU:=Web Servers/Proxies
90 TITLE:=shadowsocks-libev ss-rules
91 URL:=https://github.com/shadowsocks/shadowsocks-libev
92 DEPENDS:=+firewall4 \
93 +ip \
94 +resolveip \
95 +ucode \
96 +ucode-mod-fs \
97 +shadowsocks-libev-ss-redir \
98 +shadowsocks-libev-config \
99 +kmod-nft-tproxy
100 endef
101
102 define Package/shadowsocks-libev-ss-rules/install
103 $(INSTALL_DIR) $(1)/usr/share/ss-rules
104 $(INSTALL_DATA) ./files/ss-rules/* $(1)/usr/share/ss-rules/
105 endef
106
107 define Build/Prepare
108 $(call Build/Prepare/Default)
109 $(FIND) $(PKG_BUILD_DIR) \
110 -name '*.o' \
111 -o -name '*.lo' \
112 -o -name '.deps' \
113 -o -name '.libs' \
114 | $(XARGS) rm -rvf
115 endef
116
117 CONFIGURE_ARGS += \
118 --disable-documentation \
119 --disable-silent-rules \
120 --disable-assert \
121 --disable-ssp \
122
123 TARGET_CFLAGS += -flto
124 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
125
126 $(eval $(call BuildPackage,shadowsocks-libev-config))
127 $(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
128 $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
129 $(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
130 )