Makefile 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #
  2. # Copyright (C) 2017-2020 Yousong Zhou <[email protected]>
  3. #
  4. # Copyright (C) 2021 ImmortalWrt
  5. # <https://immortalwrt.org>
  6. #
  7. # This is free software, licensed under the GNU General Public License v2.
  8. # See /LICENSE for more information.
  9. #
  10. include $(TOPDIR)/rules.mk
  11. PKG_NAME:=shadowsocks-rust
  12. PKG_VERSION:=1.10.7
  13. PKG_RELEASE:=1
  14. PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION)
  15. PKG_SOURCE_BODY:=unknown-linux-musl
  16. PKG_SOURCE_FOOTER:=tar.xz
  17. PKG_SOURCE_URL:=https://github.com/shell-script/openwrt-shadowsocks-rust/releases/download/v$(PKG_VERSION)/
  18. ifeq ($(ARCH),aarch64)
  19. PKG_SOURCE:=$(PKG_SOURCE_HEADER).aarch64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  20. PKG_HASH:=06db2c0b4c7664bc3a3f338d89f50b346fe9e4623d6732d96b51c97e3fa5fba3
  21. else ifeq ($(ARCH),arm)
  22. # Referred to golang/golang-values.mk
  23. ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE))))
  24. ifeq ($(ARM_CPU_FEATURES),)
  25. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabi.$(PKG_SOURCE_FOOTER)
  26. PKG_HASH:=34554454c1a1250621f9b3e1f3f935eb67aad144509a7fa44fad5d01bc36ac48
  27. else ifneq ($(filter $(ARM_CPU_FEATURES),vfp vfpv2),)
  28. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  29. PKG_HASH:=e56853ef721a01368ac3839b32933ccd5d051bd507609f1acc34885edb9b16a5
  30. else
  31. PKG_SOURCE:=$(PKG_SOURCE_HEADER).armv7-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  32. PKG_HASH:=92947b817fd11dafb172ebc2a7c72228efe208e9067d385c0b6063ed99587737
  33. endif
  34. else ifeq ($(ARCH),i386)
  35. ifeq ($(CONFIG_TARGET_x86_geode)$(CONFIG_TARGET_x86_legacy),y)
  36. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i586-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  37. PKG_HASH:=d158446f0cde52d91ef22df3564cee86c7b24b659c9a4d3054b6ec4fe3669a4e
  38. else
  39. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  40. PKG_HASH:=f464893e87dca7bcf7390786cb20a392cd09c6859089516eb3b87f31c8e1b02b
  41. endif
  42. else ifeq ($(ARCH),mips)
  43. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  44. PKG_HASH:=7d77e3e7e9b698069a192ebc19a155dcb6f7f4e159c9c6f823765b9a3df496e5
  45. else ifeq ($(ARCH),mipsel)
  46. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  47. PKG_HASH:=23e4ff841c5ef474edf25644da429928a42b7a9731c23a1fa92998bccee597a4
  48. else ifeq ($(ARCH),x86_64)
  49. PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  50. PKG_HASH:=c962ff226e778c715e0f9658789818b2736e0fa8e2542d23c4faed5abe43374a
  51. # Set the default value to make OpenWrt Package Checker happy
  52. else
  53. PKG_SOURCE:=dummy
  54. PKG_HASH:=dummy
  55. endif
  56. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  57. PKG_LICENSE:=MIT
  58. PKG_LICENSE_FILES:=LICENSE
  59. include $(INCLUDE_DIR)/package.mk
  60. TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
  61. define Package/shadowsocks-rust/Default
  62. define Package/shadowsocks-rust-$(1)
  63. SECTION:=net
  64. CATEGORY:=Network
  65. SUBMENU:=Web Servers/Proxies
  66. TITLE:=shadowsocks-rust $(1)
  67. URL:=https://github.com/shadowsocks/shadowsocks-rust
  68. DEPENDS:=@(aarch64||arm||i386||mips||mipsel||x86_64) @USE_MUSL
  69. endef
  70. define Package/shadowsocks-rust-$(1)/install
  71. $$(INSTALL_DIR) $$(1)/usr/bin
  72. $$(INSTALL_BIN) $$(PKG_BUILD_DIR)/$(1) $$(1)/usr/bin
  73. endef
  74. endef
  75. SHADOWSOCKS_COMPONENTS:=sslocal ssmanager ssserver ssurl
  76. define shadowsocks-rust/templates
  77. $(foreach component,$(SHADOWSOCKS_COMPONENTS),
  78. $(call Package/shadowsocks-rust/Default,$(component))
  79. )
  80. endef
  81. $(eval $(call shadowsocks-rust/templates))
  82. define Build/Compile
  83. endef
  84. $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
  85. $(eval $(call BuildPackage,shadowsocks-rust-$(component))) \
  86. )