include $(TOPDIR)/rules.mk
PKG_NAME:=fastd
-PKG_VERSION:=19
-PKG_RELEASE:=1
+PKG_VERSION:=20
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/NeoRaider/fastd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=6054608e2103b634c9d19ecd1ae058d4ec694747047130719db180578729783a
+PKG_HASH:=56cab8639218d63237d9a5508fb2bf6fa637374d53fb7fa55b7e92e4d4dfeb00
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYRIGHT
CONFIG_FASTD_WITH_STATUS_SOCKET
-PKG_BUILD_DEPENDS:=nacl
+PKG_BUILD_DEPENDS:=meson/host nacl
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/meson/meson.mk
define Package/fastd
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+kmod-tun +librt +libpthread +libuecc +FASTD_WITH_STATUS_SOCKET:libjson-c +FASTD_WITH_CAPABILITIES:libcap
+ DEPENDS:=+kmod-tun +libpthread +libuecc +FASTD_WITH_STATUS_SOCKET:libjson-c +FASTD_WITH_CAPABILITIES:libcap
TITLE:=Fast and Secure Tunneling Daemon
URL:=https://github.com/NeoRaider/fastd/
SUBMENU:=VPN
source "$(SOURCE)/Config.in"
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
-TARGET_LDFLAGS += -Wl,--gc-sections
-
-CMAKE_OPTIONS += \
- -DCMAKE_BUILD_TYPE:STRING=MINSIZEREL \
- -DWITH_METHOD_CIPHER_TEST:BOOL=FALSE \
- -DWITH_METHOD_COMPOSED_GMAC:BOOL=FALSE \
- -DWITH_METHOD_COMPOSED_UMAC:BOOL=FALSE \
- -DWITH_METHOD_GENERIC_GMAC:BOOL=FALSE \
- -DWITH_METHOD_GENERIC_POLY1305:BOOL=FALSE \
- -DWITH_METHOD_GENERIC_UMAC:BOOL=FALSE \
- -DWITH_METHOD_NULL:BOOL=FALSE \
- -DWITH_CIPHER_AES128_CTR:BOOL=FALSE \
- -DWITH_CIPHER_NULL:BOOL=FALSE \
- -DWITH_CIPHER_SALSA20:BOOL=FALSE \
- -DWITH_CIPHER_SALSA2012:BOOL=FALSE \
- -DWITH_MAC_GHASH:BOOL=FALSE \
- -DWITH_MAC_UHASH:BOOL=FALSE \
- -DWITH_CAPABILITIES:BOOL=FALSE \
- -DWITH_CMDLINE_USER:BOOL=FALSE \
- -DWITH_CMDLINE_LOGGING:BOOL=FALSE \
- -DWITH_CMDLINE_OPERATION:BOOL=FALSE \
- -DWITH_CMDLINE_COMMANDS:BOOL=FALSE \
- -DWITH_DYNAMIC_PEERS:BOOL=FALSE \
- -DWITH_STATUS_SOCKET:BOOL=FALSE \
- -DENABLE_SYSTEMD:BOOL=FALSE \
- -DENABLE_LIBSODIUM:BOOL=FALSE \
- -DENABLE_LTO:BOOL=TRUE
-
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST),y)
-CMAKE_OPTIONS += -DWITH_METHOD_CIPHER_TEST:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC),y)
-CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_GMAC:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC),y)
-CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_UMAC:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC),y)
-CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_GMAC:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305),y)
-CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_POLY1305:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC),y)
-CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_UMAC:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_METHOD_NULL),y)
-CMAKE_OPTIONS += -DWITH_METHOD_NULL:BOOL=TRUE
-endif
-
-
-ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_NULL),y)
-CMAKE_OPTIONS += -DWITH_CIPHER_NULL:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA20),y)
-CMAKE_OPTIONS += -DWITH_CIPHER_SALSA20:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA2012),y)
-CMAKE_OPTIONS += -DWITH_CIPHER_SALSA2012:BOOL=TRUE
-endif
-
-
-ifeq ($(CONFIG_FASTD_ENABLE_MAC_GHASH),y)
-CMAKE_OPTIONS += -DWITH_MAC_GHASH:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_ENABLE_MAC_UHASH),y)
-CMAKE_OPTIONS += -DWITH_MAC_UHASH:BOOL=TRUE
-endif
-
-
-ifeq ($(CONFIG_FASTD_WITH_CAPABILITIES),y)
-CMAKE_OPTIONS += -DWITH_CAPABILITIES:BOOL=TRUE
-endif
-
-
-ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y)
-CMAKE_OPTIONS += -DWITH_CMDLINE_USER:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_WITH_CMDLINE_LOGGING),y)
-CMAKE_OPTIONS += -DWITH_CMDLINE_LOGGING:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_WITH_CMDLINE_OPERATION),y)
-CMAKE_OPTIONS += -DWITH_CMDLINE_OPERATION:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_WITH_CMDLINE_COMMANDS),y)
-CMAKE_OPTIONS += -DWITH_CMDLINE_COMMANDS:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_WITH_DYNAMIC_PEERS),y)
-CMAKE_OPTIONS += -DWITH_DYNAMIC_PEERS:BOOL=TRUE
-endif
-
-ifeq ($(CONFIG_FASTD_WITH_STATUS_SOCKET),y)
-CMAKE_OPTIONS += -DWITH_STATUS_SOCKET:BOOL=TRUE
-endif
-
+feature = $(if $(CONFIG_FASTD_$(1)),enabled,disabled)
+
+MESON_ARGS += \
+ -Dcapabilities=$(call feature,WITH_CAPABILITIES) \
+ -Dcipher_aes128-ctr=disabled \
+ -Dcipher_null=$(call feature,ENABLE_CIPHER_NULL) \
+ -Dcipher_salsa20=$(call feature,ENABLE_CIPHER_SALSA20) \
+ -Dcipher_salsa2012=$(call feature,ENABLE_CIPHER_SALSA2012) \
+ -Dcmdline_commands=$(call feature,WITH_CMDLINE_COMMANDS) \
+ -Dcmdline_logging=$(call feature,WITH_CMDLINE_LOGGING) \
+ -Dcmdline_operation=$(call feature,WITH_CMDLINE_OPERATION) \
+ -Dcmdline_user=$(call feature,WITH_CMDLINE_USER) \
+ -Ddynamic_peers=$(call feature,WITH_DYNAMIC_PEERS) \
+ -Dmac_ghash=$(call feature,ENABLE_MAC_GHASH) \
+ -Dmac_uhash=$(call feature,ENABLE_MAC_UHASH) \
+ -Dmethod_cipher-test=$(call feature,ENABLE_METHOD_CIPHER_TEST) \
+ -Dmethod_composed-gmac=$(call feature,ENABLE_METHOD_COMPOSED_GMAC) \
+ -Dmethod_composed-umac=$(call feature,ENABLE_METHOD_COMPOSED_UMAC) \
+ -Dmethod_generic-gmac=$(call feature,ENABLE_METHOD_GENERIC_GMAC) \
+ -Dmethod_generic-poly1305=$(call feature,ENABLE_METHOD_GENERIC_POLY1305) \
+ -Dmethod_generic-umac=$(call feature,ENABLE_METHOD_GENERIC_UMAC) \
+ -Dmethod_null=$(call feature,ENABLE_METHOD_NULL) \
+ -Dstatus_socket=$(call feature,WITH_STATUS_SOCKET) \
+ -Dsystemd=disabled \
+ -Duse_nacl=true \
+ -Db_lto=true \
+ -Dprefix=/usr
define Package/fastd/description
Fast and secure tunneling daemon, which is optimized on small code size and few dependencies