wireguard: bump to 1.0.20200729
[librecmc/librecmc.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.20200729
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:=690c7d9e115e2ff27386811cb495c9784678f717c8d6fc4cc7469dce373f252e
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               Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
40
41 endef
42
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.
50 endef
51
52 define Package/wireguard
53   $(call Package/wireguard/Default)
54   TITLE:=WireGuard meta-package
55   DEPENDS:=+wireguard-tools +kmod-wireguard
56 endef
57
58 include $(INCLUDE_DIR)/kernel-defaults.mk
59 include $(INCLUDE_DIR)/package-defaults.mk
60
61 define Build/Compile
62         $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/src" modules
63 endef
64
65 define Package/wireguard/install
66   true
67 endef
68
69 define Package/wireguard/description
70   $(call Package/wireguard/Default/description)
71 endef
72
73 define KernelPackage/wireguard
74   SECTION:=kernel
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)
81 endef
82
83 define KernelPackage/wireguard/description
84   $(call Package/wireguard/Default/description)
85
86   This package provides the kernel module for WireGuard.
87 endef
88
89 $(eval $(call BuildPackage,wireguard))
90 $(eval $(call KernelPackage,wireguard))