# 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.22.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:=4c20c76ff80e7671428068a1628b6269785fc0d22a127883ed82e2c79e6c332e 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:=6724fcb42326b003e542fc2df6594dbd28259dc3df7644033844d6d7cba98b61 else PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER) PKG_HASH:=3af6c4e3e28b92957b869a6851296f882f906f30285cf9247ad59f163ce9d808 endif else ifeq ($(ARCH),i386) PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=01419d65ea1dcc41c103bc83601eda7dd7ce311f50097c826aa3262c539c3af3 else ifeq ($(ARCH),x86_64) PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=5e3f4a7c78ffeb612620c5cfd4a99a25d1eabffbe9e00ce5a92ee72e99d1310b else ifeq ($(ARCH),mips) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=27f49f076707d1e1a53e8c0e9f34251ca3901387e200e5d05929fc90763055fd else ifeq ($(ARCH),mipsel) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) PKG_HASH:=7fd5a503ffaa679e35118b6b578d1d31c9529e483939015426d40073adf6e594 # 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) 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))) \ )