--- Begin Message ---
Subject: |
[PATCH] gnu: Add wireguard-module. |
Date: |
Fri, 17 Apr 2020 17:58:55 +0200 |
* gnu/packages/vpn.scm (wireguard-module): New variable.
---
This patch add wireguard as a loadable Linux kernel module which allow using
it Linux version < 5.6 without having to rebuild the entire kernel.
Following is a usage example:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu) (gnu services))
(use-package-modules vpn)
(use-service-modules linux)
(operating-system
...
(services (cons* (service kernel-module-loader-service-type
'("wireguard"))
%base-services))
(kernel-loadable-modules (list wireguard-module)))
--8<---------------cut here---------------end--------------->8---
gnu/packages/vpn.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..654c9d8db1 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <address@hidden>
;;; Copyright © 2019 Rutger Helling <address@hidden>
;;; Copyright © 2019 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2020 Brice Waegeneire <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -496,6 +498,26 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet)
network between the peers
kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
(license license:gpl2)))
+(define-public wireguard-module
+ (package
+ (inherit wireguard-linux-compat)
+ (name "wireguard-module")
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t)))))
+ (synopsis "WireGuard loadable kernel module for Linux 3.10 through 5.5")
+ (description "This is a loadable Linux kernel module for WireGuard
+supporting kernel versions 3.10 through 5.5. WireGuard was added to Linux
+5.6. It ought to be used by adding it to the @code{kernel-loadable-modules}
+field and loaded in memeory by @command{modprobe} or
+@code{kernel-module-loader-service-type}.")))
+
(define-public wireguard-tools
(package
(name "wireguard-tools")
--
2.26.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: [PATCH v4] gnu: Add loadable module to wireguard-linux-compat. |
Date: |
Sun, 26 Apr 2020 18:25:48 -0400 |
On Sun, Apr 26, 2020 at 05:16:36PM -0400, Leo Famulari wrote:
> Thanks! I've attached a v5 that ensures the license files still get
> installed. Does it work for you?
I pushed this as 3b177a6c33baa0d78ebd5407119511807d59a590 based on
feedback on #guix
signature.asc
Description: PGP signature
--- End Message ---