OpenWrt – Blame information for rev 4

Subversion Repositories:
Rev:
Rev Author Line No. Line
4 office 1 #
2 # Copyright (C) 2016-2018 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:=0.0.20181119
15 PKG_RELEASE:=1
16  
17 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
18 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
19 PKG_HASH:=7d47f7996dd291069de4efb3097c42f769f60dc3ac6f850a4d5705f321e4406b
20  
21 PKG_LICENSE:=GPL-2.0 Apache-2.0
22 PKG_LICENSE_FILES:=COPYING
23  
24 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/WireGuard-$(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 endef
41  
42 define Package/wireguard/Default/description
43 WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
44 state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
45 more useful than IPSec, while avoiding the massive headache. It intends to
46 be considerably more performant than OpenVPN. WireGuard is designed as a
47 general purpose VPN for running on embedded interfaces and super computers
48 alike, fit for many different circumstances. It uses UDP.
49 endef
50  
51 define Package/wireguard
52 $(call Package/wireguard/Default)
53 TITLE:=WireGuard meta-package
54 DEPENDS:=+wireguard-tools +kmod-wireguard
55 endef
56  
57 include $(INCLUDE_DIR)/kernel-defaults.mk
58 include $(INCLUDE_DIR)/package-defaults.mk
59  
60 # Used by Build/Compile/Default
61 MAKE_PATH:=src/tools
62 MAKE_VARS += PLATFORM=linux
63  
64 define Build/Compile
65 $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/src" modules
66 $(call Build/Compile/Default)
67 endef
68  
69 define Package/wireguard/install
70 true
71 endef
72  
73 define Package/wireguard/description
74 $(call Package/wireguard/Default/description)
75 endef
76  
77 define Package/wireguard-tools
78 $(call Package/wireguard/Default)
79 TITLE:=WireGuard userspace control program (wg)
80 DEPENDS:=+libmnl +ip
81 endef
82  
83 define Package/wireguard-tools/description
84 $(call Package/wireguard/Default/description)
85  
86 This package provides the userspace control program for WireGuard,
87 `wg(8)`, a netifd protocol helper, and a re-resolve watchdog script.
88 endef
89  
90 define Package/wireguard-tools/install
91 $(INSTALL_DIR) $(1)/usr/bin/
92 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/tools/wg $(1)/usr/bin/
93 $(INSTALL_BIN) ./files/wireguard_watchdog $(1)/usr/bin/
94 $(INSTALL_DIR) $(1)/lib/netifd/proto/
95 $(INSTALL_BIN) ./files/wireguard.sh $(1)/lib/netifd/proto/
96 endef
97  
98 define KernelPackage/wireguard
99 SECTION:=kernel
100 CATEGORY:=Kernel modules
101 SUBMENU:=Network Support
102 TITLE:=WireGuard kernel module
103 DEPENDS:=+IPV6:kmod-udptunnel6 +kmod-udptunnel4
104 FILES:= $(PKG_BUILD_DIR)/src/wireguard.$(LINUX_KMOD_SUFFIX)
105 AUTOLOAD:=$(call AutoProbe,wireguard)
106 endef
107  
108 define KernelPackage/wireguard/description
109 $(call Package/wireguard/Default/description)
110  
111 This package provides the kernel module for WireGuard.
112 endef
113  
114 $(eval $(call BuildPackage,wireguard))
115 $(eval $(call BuildPackage,wireguard-tools))
116 $(eval $(call KernelPackage,wireguard))