# SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) 2017-2020 Yousong Zhou # Copyright (C) 2021 ImmortalWrt.org include $(TOPDIR)/rules.mk PKG_NAME:=shadowsocks-rust PKG_VERSION:=1.20.0 PKG_RELEASE:=1 PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION) PKG_SOURCE_BODY:=unknown-linux-musl PKG_SOURCE_FOOTER:=tar.xz ifeq ($(filter $(ARCH),mips mipsel),) PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-rust/releases/download/v$(PKG_VERSION)/ else PKG_SOURCE_URL:=https://github.com/sbwml/shadowsocks-rust-mips/releases/download/v$(PKG_VERSION)/ endif ifeq ($(ARCH),aarch64) PKG_SOURCE:=$(PKG_SOURCE_HEADER).aarch64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=9fd207b3deb780ec4cbf5c6103410feb7025c64579d8d463e722ff2504b236b2 else ifeq ($(ARCH),arm) # Referred to golang/golang-values.mk ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))) ifeq ($(ARM_CPU_FEATURES),) PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabi.$(PKG_SOURCE_FOOTER) PKG_HASH:=a53f5f5978b6f082d3ad94b495d7a6a0ec4bce3ac231fb6a257e1d21fcd7664b else PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER) PKG_HASH:=f661608d68c6e3f47054446714bbe50dcfc320fe60130f9d7121a7cb78d07191 endif else ifeq ($(ARCH),i386) PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=0f5af700f5c07f2ed2d03ef47c05bed61232cc65169a50a155d5ea1c8c287cba else ifeq ($(ARCH),x86_64) PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=e315176dff7d0d42cd0b044314fe35f77ff1385c019689574a56ef0d86eaca16 else ifeq ($(ARCH),mips) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=a93a1d4c6bb71cb4efda90a36f02c4e617549d5254b0dae744263cf24ef5ade3 else ifeq ($(ARCH),mipsel) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=a4a04d55125e0c639fb5fed80e157657816ad4b18b5235253d8554d69ea6cf93 # Set the default value to make OpenWrt Package Checker happy else PKG_SOURCE:=dummy PKG_HASH:=dummy endif PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE include $(INCLUDE_DIR)/package.mk TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) define Package/shadowsocks-rust/Default define Package/shadowsocks-rust-$(1) SECTION:=net CATEGORY:=Network SUBMENU:=Web Servers/Proxies TITLE:=shadowsocks-rust $(1) URL:=https://github.com/shadowsocks/shadowsocks-rust DEPENDS:=@(aarch64||arm||i386||mips||mipsel||x86_64) @!(TARGET_x86_geode||TARGET_x86_legacy) endef define Package/shadowsocks-rust-$(1)/install $$(INSTALL_DIR) $$(1)/usr/bin $$(INSTALL_BIN) $$(PKG_BUILD_DIR)/$(1) $$(1)/usr/bin endef endef SHADOWSOCKS_COMPONENTS:=sslocal ssmanager ssserver ssurl ssservice define shadowsocks-rust/templates $(foreach component,$(SHADOWSOCKS_COMPONENTS), $(call Package/shadowsocks-rust/Default,$(component)) ) endef $(eval $(call shadowsocks-rust/templates)) define Build/Compile endef $(foreach component,$(SHADOWSOCKS_COMPONENTS), \ $(eval $(call BuildPackage,shadowsocks-rust-$(component))) \ )