wireguard: bump to 1.0.20200623
[oweals/openwrt.git] / package / network / services / wireguard / Makefile
1 #
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>
5 #
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
8
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11
12 PKG_NAME:=wireguard
13
14 PKG_VERSION:=1.0.20200623
15 PKG_RELEASE:=1
16
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:=130937724515799edf05ff8216bc837df8acda879428f3a7f96a3287758f9445
20
21 PKG_LICENSE:=GPL-2.0
22 PKG_LICENSE_FILES:=COPYING
23
24 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/wireguard-linux-compat-$(PKG_VERSION)
25 PKG_BUILD_PARALLEL:=1
26 PKG_USE_MIPS16:=0
27
28 # WireGuard's makefile needs this to know where to build the kernel module
29 export KERNELDIR:=$(LINUX_DIR)
30
31 include $(INCLUDE_DIR)/package.mk
32
33 define Package/wireguard/Default
34   SECTION:=net
35   CATEGORY:=Network
36   SUBMENU:=VPN
37   URL:=https://www.wireguard.com
38   MAINTAINER:=Jason A. Donenfeld <Jason@zx2c4.com>
39 endef
40
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.
48 endef
49
50 define Package/wireguard
51   $(call Package/wireguard/Default)
52   TITLE:=WireGuard meta-package
53   DEPENDS:=+wireguard-tools +kmod-wireguard
54 endef
55
56 include $(INCLUDE_DIR)/kernel-defaults.mk
57 include $(INCLUDE_DIR)/package-defaults.mk
58
59 define Build/Compile
60         $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/src" modules
61 endef
62
63 define Package/wireguard/install
64   true
65 endef
66
67 define Package/wireguard/description
68   $(call Package/wireguard/Default/description)
69 endef
70
71 define KernelPackage/wireguard
72   SECTION:=kernel
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)
79 endef
80
81 define KernelPackage/wireguard/description
82   $(call Package/wireguard/Default/description)
83
84   This package provides the kernel module for WireGuard.
85 endef
86
87 $(eval $(call BuildPackage,wireguard))
88 $(eval $(call KernelPackage,wireguard))