|
|
@ -0,0 +1,171 @@ |
|
|
|
# Based partially on the versions of el1n and Federico Di Marco
|
|
|
|
|
|
|
|
include $(TOPDIR)/rules.mk |
|
|
|
|
|
|
|
PKG_NAME:=softethervpn5 |
|
|
|
PKG_VERSION:=5.01.9667 |
|
|
|
PKG_RELEASE:=1 |
|
|
|
|
|
|
|
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com> |
|
|
|
PKG_LICENSE:=GPL-2.0 |
|
|
|
PKG_LICENSE_FILES:=COPYING |
|
|
|
|
|
|
|
PKG_SOURCE:=softether-vpn-src-$(PKG_VERSION).tar.gz |
|
|
|
PKG_SOURCE_URL:=https://github.com/SoftEtherVPN/SoftEtherVPN/releases/download/$(PKG_VERSION) |
|
|
|
PKG_HASH:=c99142c5e55fae055955332964c56d29aba10bec9764ab961aebabf6c3ee1462 |
|
|
|
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) |
|
|
|
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION) |
|
|
|
|
|
|
|
HOST_BUILD_DEPENDS:=ncurses/host readline/host |
|
|
|
PKG_BUILD_DEPENDS:=softethervpn5/host |
|
|
|
|
|
|
|
include $(INCLUDE_DIR)/package.mk |
|
|
|
include $(INCLUDE_DIR)/host-build.mk |
|
|
|
include $(INCLUDE_DIR)/nls.mk |
|
|
|
include $(INCLUDE_DIR)/cmake.mk |
|
|
|
|
|
|
|
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) |
|
|
|
|
|
|
|
define Package/softethervpn5/Default |
|
|
|
SECTION:=net |
|
|
|
CATEGORY:=Network |
|
|
|
SUBMENU:=VPN |
|
|
|
TITLE:=softethervpn5 v$(PKG_VERSION) |
|
|
|
URL:=http://www.softether.org/ |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5/Default/description |
|
|
|
SoftEther VPN supports SSL-VPN, OpenVPN, L2TP, EtherIP, L2TPv3 and IPsec as a single VPN software. |
|
|
|
SoftEther VPN is not only an alternative VPN server to existing VPN products (OpenVPN, IPsec and MS-SSTP), |
|
|
|
but has also original strong SSL-VPN protocol to penetrate any kinds of firewalls. |
|
|
|
Guide: https://wordpress.tirlins.com/2015/03/setting-up-softether-vpn-on-openwrt/ |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-libs |
|
|
|
$(call Package/softethervpn5/Default) |
|
|
|
DEPENDS:=+libpthread +librt +libreadline +libopenssl +libncurses +kmod-tun +zlib $(ICONV_DEPENDS) |
|
|
|
TITLE+= libs |
|
|
|
HIDDEN:=1 |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-server |
|
|
|
$(call Package/softethervpn5/Default) |
|
|
|
TITLE+= server |
|
|
|
DEPENDS:= +softethervpn5-libs |
|
|
|
endef |
|
|
|
define Package/softethervpn5-server/description |
|
|
|
$(call Package/softethervpn5/Default/description) |
|
|
|
|
|
|
|
Provides the vpnserver (daemon). |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-bridge |
|
|
|
$(call Package/softethervpn5/Default) |
|
|
|
TITLE+= bridge |
|
|
|
DEPENDS:= +softethervpn5-libs |
|
|
|
endef |
|
|
|
define Package/softethervpn5-bridge/description |
|
|
|
$(call Package/softethervpn5/Default/description) |
|
|
|
|
|
|
|
Provides the vpnbridge (daemon). |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-client |
|
|
|
$(call Package/softethervpn5/Default) |
|
|
|
TITLE+= client |
|
|
|
DEPENDS:= +softethervpn5-libs |
|
|
|
endef |
|
|
|
define Package/softethervpn5-client/description |
|
|
|
$(call Package/softethervpn5/Default/description) |
|
|
|
|
|
|
|
Provides the vpnclient. |
|
|
|
endef |
|
|
|
|
|
|
|
export USE_MUSL=YES |
|
|
|
# BUG: outdated host/include/elf.h
|
|
|
|
HOST_CFLAGS += $(FPIC) -DAT_HWCAP2=26 |
|
|
|
TARGET_CFLAGS += $(FPIC) |
|
|
|
|
|
|
|
# static build for host (hamcorebuilder), avoid -fpic on ncurses/host and shared libs can't be found on host
|
|
|
|
define Host/Prepare |
|
|
|
$(Host/Prepare/Default) |
|
|
|
$(SED) 's,SHARED,STATIC,g' $(HOST_BUILD_DIR)/src/Mayaqua/CMakeLists.txt |
|
|
|
$(SED) 's,SHARED,STATIC,g' $(HOST_BUILD_DIR)/src/Cedar/CMakeLists.txt |
|
|
|
endef |
|
|
|
|
|
|
|
define Host/Compile |
|
|
|
$(call Host/Compile/Default,hamcorebuilder) |
|
|
|
endef |
|
|
|
|
|
|
|
define Host/Install |
|
|
|
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/ |
|
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tmp/hamcorebuilder $(STAGING_DIR_HOSTPKG)/bin/ |
|
|
|
endef |
|
|
|
|
|
|
|
define Build/Compile |
|
|
|
$(call Build/Compile/Default,vpnserver vpnbridge vpnclient vpncmd hamcore-archive-build) |
|
|
|
endef |
|
|
|
|
|
|
|
define Build/Install |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-libs/install |
|
|
|
$(INSTALL_DIR) $(1)/usr/lib |
|
|
|
$(CP) $(PKG_BUILD_DIR)/build/libcedar.so $(1)/usr/lib/ |
|
|
|
$(CP) $(PKG_BUILD_DIR)/build/libmayaqua.so $(1)/usr/lib/ |
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn |
|
|
|
$(CP) $(PKG_BUILD_DIR)/build/hamcore.se2 $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpncmd $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/lang.config |
|
|
|
$(INSTALL_DIR) $(1)/usr/bin |
|
|
|
$(LN) ../../usr/libexec/softethervpn/launcher.sh $(1)/usr/bin/vpncmd |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-server/install |
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn |
|
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnserver $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_server.config |
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d |
|
|
|
$(INSTALL_BIN) files/vpnserver.init $(1)/etc/init.d/softethervpnserver |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-bridge/install |
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn |
|
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnbridge $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_bridge.config |
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d |
|
|
|
$(INSTALL_BIN) files/vpnbridge.init $(1)/etc/init.d/softethervpnbridge |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-client/install |
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn |
|
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnclient $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/ |
|
|
|
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_client.config |
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d |
|
|
|
$(INSTALL_BIN) files/vpnclient.init $(1)/etc/init.d/softethervpnclient |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-server/conffiles |
|
|
|
/usr/libexec/softethervpn/vpn_server.config |
|
|
|
/usr/libexec/softethervpn/lang.config |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-bridge/conffiles |
|
|
|
/usr/libexec/softethervpn/vpn_bridge.config |
|
|
|
/usr/libexec/softethervpn/lang.config |
|
|
|
endef |
|
|
|
|
|
|
|
define Package/softethervpn5-client/conffiles |
|
|
|
/usr/libexec/softethervpn/vpn_client.config |
|
|
|
/usr/libexec/softethervpn/lang.config |
|
|
|
endef |
|
|
|
|
|
|
|
$(eval $(call HostBuild)) |
|
|
|
$(eval $(call BuildPackage,softethervpn5-libs)) |
|
|
|
$(eval $(call BuildPackage,softethervpn5-server)) |
|
|
|
$(eval $(call BuildPackage,softethervpn5-bridge)) |
|
|
|
$(eval $(call BuildPackage,softethervpn5-client)) |