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
:=0.0.20200215
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
:=0def6f3608ec06f6dfc454aa5281a7c38b06ff27096cb341448d20602da4e923
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
>
41 define Package
/wireguard
/Default
/description
42 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
43 state-of-the-art cryptography. It aims to be faster
, simpler
, leaner
, and
44 more useful than IPSec
, while avoiding the massive headache. It intends to
45 be considerably more performant than OpenVPN. WireGuard is designed
as a
46 general purpose VPN for running on embedded interfaces and super computers
47 alike
, fit for many different circumstances. It uses UDP.
50 define Package
/wireguard
51 $(call Package
/wireguard
/Default
)
52 TITLE
:=WireGuard meta-package
53 DEPENDS
:=+wireguard-tools
+kmod-wireguard
56 include $(INCLUDE_DIR
)/kernel-defaults.mk
57 include $(INCLUDE_DIR
)/package-defaults.mk
60 $(MAKE
) $(KERNEL_MAKEOPTS
) M
="$(PKG_BUILD_DIR)/src" modules
63 define Package
/wireguard
/install
67 define Package
/wireguard
/description
68 $(call Package
/wireguard
/Default
/description
)
71 define KernelPackage
/wireguard
73 CATEGORY
:=Kernel modules
74 SUBMENU
:=Network Support
75 TITLE
:=WireGuard kernel module
76 DEPENDS
:=+IPV6
:kmod-udptunnel6
+kmod-udptunnel4
77 FILES
:= $(PKG_BUILD_DIR
)/src
/wireguard.
$(LINUX_KMOD_SUFFIX
)
78 AUTOLOAD
:=$(call AutoProbe
,wireguard
)
81 define KernelPackage
/wireguard
/description
82 $(call Package
/wireguard
/Default
/description
)
84 This package provides the kernel module for WireGuard.
87 $(eval
$(call BuildPackage
,wireguard
))
88 $(eval
$(call KernelPackage
,wireguard
))