Makefile 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #
  2. # Copyright (C) 2017-2020 Yousong Zhou <[email protected]>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. # Checklist when bumping versions
  9. #
  10. # - update cipher list by checking src/crypto.c:crypto_init()
  11. # - check if default mode has changed from being tcp_only
  12. #
  13. PKG_NAME:=shadowsocks-libev
  14. PKG_VERSION:=3.3.5
  15. PKG_RELEASE:=13
  16. PKG_SOURCE_PROTO:=git
  17. PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev.git
  18. PKG_SOURCE_DATE:=2025-1-20
  19. PKG_SOURCE_VERSION:=9afa3cacf947f910be46b69fc5a7a1fdd02fd5e6
  20. PKG_MIRROR_HASH:=720955484ea5f6b53d90519a7c6e828eec080a819efce18fc6fb64f1c4c086dd
  21. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
  22. PKG_MAINTAINER:=Yousong Zhou <[email protected]>
  23. PKG_LICENSE:=GPL-3.0-or-later
  24. PKG_LICENSE_FILES:=LICENSE
  25. PKG_CPE_ID:=cpe:/a:shadowsocks:shadowsocks-libev
  26. PKG_FIXUP:=autoreconf
  27. PKG_INSTALL:=1
  28. PKG_BUILD_FLAGS:=no-mips16 lto
  29. PKG_BUILD_PARALLEL:=1
  30. PKG_BUILD_DEPENDS:=c-ares pcre2
  31. include $(INCLUDE_DIR)/package.mk
  32. define Package/shadowsocks-libev-config
  33. SECTION:=net
  34. CATEGORY:=Network
  35. SUBMENU:=Web Servers/Proxies
  36. TITLE:=shadowsocks-libev config scripts
  37. URL:=https://github.com/shadowsocks/shadowsocks-libev
  38. endef
  39. define Package/shadowsocks-libev-config/conffiles
  40. /etc/config/shadowsocks-libev
  41. endef
  42. define Package/shadowsocks-libev-config/install
  43. $(INSTALL_DIR) $(1)/etc/config
  44. $(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
  45. $(INSTALL_DIR) $(1)/etc/init.d
  46. $(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
  47. endef
  48. define Package/shadowsocks-libev/Default
  49. define Package/shadowsocks-libev-$(1)
  50. SECTION:=net
  51. CATEGORY:=Network
  52. SUBMENU:=Web Servers/Proxies
  53. TITLE:=shadowsocks-libev $(1)
  54. URL:=https://github.com/shadowsocks/shadowsocks-libev
  55. DEPENDS:=+libev +libmbedtls +libpthread +libsodium +shadowsocks-libev-config $(DEPENDS_$(1))
  56. endef
  57. define Package/shadowsocks-libev-$(1)/install
  58. $$(INSTALL_DIR) $$(1)/usr/bin
  59. $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
  60. endef
  61. endef
  62. DEPENDS_ss-local = +libpcre2
  63. DEPENDS_ss-server = +libcares +libpcre2
  64. SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
  65. define shadowsocks-libev/templates
  66. $(foreach component,$(SHADOWSOCKS_COMPONENTS),
  67. $(call Package/shadowsocks-libev/Default,$(component))
  68. )
  69. endef
  70. $(eval $(call shadowsocks-libev/templates))
  71. define Package/shadowsocks-libev-ss-rules
  72. SECTION:=net
  73. CATEGORY:=Network
  74. SUBMENU:=Web Servers/Proxies
  75. TITLE:=shadowsocks-libev ss-rules
  76. URL:=https://github.com/shadowsocks/shadowsocks-libev
  77. DEPENDS:=+firewall4 \
  78. +ip \
  79. +resolveip \
  80. +ucode \
  81. +ucode-mod-fs \
  82. +shadowsocks-libev-ss-redir \
  83. +shadowsocks-libev-config \
  84. +kmod-nft-tproxy
  85. endef
  86. define Package/shadowsocks-libev-ss-rules/install
  87. $(INSTALL_DIR) $(1)/usr/share/ss-rules
  88. $(INSTALL_DATA) ./files/ss-rules/* $(1)/usr/share/ss-rules/
  89. endef
  90. define Build/Prepare
  91. $(call Build/Prepare/Default)
  92. $(FIND) $(PKG_BUILD_DIR) \
  93. -name '*.o' \
  94. -o -name '*.lo' \
  95. -o -name '.deps' \
  96. -o -name '.libs' \
  97. | $(XARGS) rm -rvf
  98. endef
  99. CONFIGURE_ARGS += \
  100. --disable-documentation \
  101. --disable-silent-rules \
  102. --disable-assert \
  103. --disable-ssp \
  104. TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
  105. $(eval $(call BuildPackage,shadowsocks-libev-config))
  106. $(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
  107. $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
  108. $(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
  109. )