2 # Copyright (C) 2016-2019 Jason A. Donenfeld <Jason@zx2c4.com>
3 # Copyright (C) 2016 Baptiste Jonglez <openwrt@bitsofnetworks.org>
4 # Copyright (C) 2016-2017 Dan Luedtke <mail@danrl.com>
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
14 PKG_VERSION:=1.0.20200729
17 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz
18 PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/
19 PKG_HASH:=690c7d9e115e2ff27386811cb495c9784678f717c8d6fc4cc7469dce373f252e
22 PKG_LICENSE_FILES:=COPYING
24 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/wireguard-linux-compat-$(PKG_VERSION)
28 # WireGuard's makefile needs this to know where to build the kernel module
29 export KERNELDIR:=$(LINUX_DIR)
31 include $(INCLUDE_DIR)/package.mk
33 define Package/wireguard/Default
37 URL:=https://www.wireguard.com
38 MAINTAINER:=Jason A. Donenfeld <Jason@zx2c4.com> \
39 Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
43 define Package/wireguard/Default/description
44 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
45 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
46 more useful than IPSec, while avoiding the massive headache. It intends to
47 be considerably more performant than OpenVPN. WireGuard is designed as a
48 general purpose VPN for running on embedded interfaces and super computers
49 alike, fit for many different circumstances. It uses UDP.
52 define Package/wireguard
53 $(call Package/wireguard/Default)
54 TITLE:=WireGuard meta-package
55 DEPENDS:=+wireguard-tools +kmod-wireguard
58 include $(INCLUDE_DIR)/kernel-defaults.mk
59 include $(INCLUDE_DIR)/package-defaults.mk
62 $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/src" modules
65 define Package/wireguard/install
69 define Package/wireguard/description
70 $(call Package/wireguard/Default/description)
73 define KernelPackage/wireguard
75 CATEGORY:=Kernel modules
76 SUBMENU:=Network Support
77 TITLE:=WireGuard kernel module
78 DEPENDS:=+IPV6:kmod-udptunnel6 +kmod-udptunnel4
79 FILES:= $(PKG_BUILD_DIR)/src/wireguard.$(LINUX_KMOD_SUFFIX)
80 AUTOLOAD:=$(call AutoProbe,wireguard)
83 define KernelPackage/wireguard/description
84 $(call Package/wireguard/Default/description)
86 This package provides the kernel module for WireGuard.
89 $(eval $(call BuildPackage,wireguard))
90 $(eval $(call KernelPackage,wireguard))