* [bug#40683] [PATCH] gnu: Add wireguard-module.
2020-04-17 15:58 [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
@ 2020-04-17 16:47 ` Tobias Geerinckx-Rice via Guix-patches via
2020-04-23 12:34 ` [bug#40683] [PATCH v2] gnu: Add wireguard-linux-module Brice Waegeneire
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-04-17 16:47 UTC (permalink / raw)
To: 40683
[-- Attachment #1: Type: text/plain, Size: 1418 bytes --]
Brice!
Brice Waegeneire 写道:
> 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.
Thanks!
> +(define-public wireguard-module
> + (package
> + (inherit wireguard-linux-compat)
> + (name "wireguard-module")
2x s/module/linux-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.
I think we should say ‘Linux-Libre’ here (yes, even though it
loads on any *Linux) but I'm never entirely sure.
> 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}.")))
This can go; it belongs in the manual and is already explained
there.
LGTM with these changes, but curious what others think about
‘Linux’,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40683] [PATCH v2] gnu: Add wireguard-linux-module.
2020-04-17 15:58 [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
2020-04-17 16:47 ` Tobias Geerinckx-Rice via Guix-patches via
@ 2020-04-23 12:34 ` Brice Waegeneire
2020-04-23 17:03 ` Leo Famulari
2020-04-23 12:44 ` [bug#40683] Re: [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
` (2 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2020-04-23 12:34 UTC (permalink / raw)
To: 40683; +Cc: me
* gnu/packages/vpn.scm (wireguard-linux-module): New variable.
---
Rename wireguard-module to wireguard-linux-module and remove documentation from the
description.
gnu/packages/vpn.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..be600524f5 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; 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,24 @@ 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-linux-module
+ (package
+ (inherit wireguard-linux-compat)
+ (name "wireguard-linux-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.")))
+
(define-public wireguard-tools
(package
(name "wireguard-tools")
--
2.26.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40683] Re: [bug#40683] [PATCH] gnu: Add wireguard-module.
2020-04-17 15:58 [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
2020-04-17 16:47 ` Tobias Geerinckx-Rice via Guix-patches via
2020-04-23 12:34 ` [bug#40683] [PATCH v2] gnu: Add wireguard-linux-module Brice Waegeneire
@ 2020-04-23 12:44 ` Brice Waegeneire
2020-04-24 19:51 ` [bug#40683] [PATCH v3] gnu: Add loadable module to wireguard-linux-compat Brice Waegeneire
2020-04-26 20:51 ` [bug#40683] [PATCH v4] " Brice Waegeneire
4 siblings, 0 replies; 9+ messages in thread
From: Brice Waegeneire @ 2020-04-23 12:44 UTC (permalink / raw)
To: 40683, me
Tobias,
>> + (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.
>
> I think we should say ‘Linux-Libre’ here (yes, even though it
> loads on any *Linux) but I'm never entirely sure.
>
> [...]
>
> LGTM with these changes, but curious what others think about
> ‘Linux’,
None of the similar packages like 'acpi-call-linux-module',
'rtl8812au-aircrack-ng-linux-module', 'ddcci-driver-linux' or 'zfs' use
“Linux-Libre” in their synopsis or description. So using “Linux” should
be
good or an other patch should modify all of them.
Cheers,
- Brice
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40683] [PATCH v3] gnu: Add loadable module to wireguard-linux-compat.
2020-04-17 15:58 [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
` (2 preceding siblings ...)
2020-04-23 12:44 ` [bug#40683] Re: [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
@ 2020-04-24 19:51 ` Brice Waegeneire
2020-04-26 20:51 ` [bug#40683] [PATCH v4] " Brice Waegeneire
4 siblings, 0 replies; 9+ messages in thread
From: Brice Waegeneire @ 2020-04-24 19:51 UTC (permalink / raw)
To: 40683; +Cc: me, leo
* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.
---
This version of the patch merge the now defunct 'wireguard-linux-module' into
'wireguard-linux-compat' -- hoping that it's less confusing for users.
gnu/packages/vpn.scm | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..6bcce8fe52 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; 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)
@@ -465,19 +467,22 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +490,16 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
(assoc-ref %outputs "out"))
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40683] [PATCH v4] gnu: Add loadable module to wireguard-linux-compat.
2020-04-17 15:58 [bug#40683] [PATCH] gnu: Add wireguard-module Brice Waegeneire
` (3 preceding siblings ...)
2020-04-24 19:51 ` [bug#40683] [PATCH v3] gnu: Add loadable module to wireguard-linux-compat Brice Waegeneire
@ 2020-04-26 20:51 ` Brice Waegeneire
2020-04-26 21:16 ` Leo Famulari
4 siblings, 1 reply; 9+ messages in thread
From: Brice Waegeneire @ 2020-04-26 20:51 UTC (permalink / raw)
To: 40683; +Cc: leo
* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[outputs]: Add 'kernel-patch'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.
---
Put patch in 'kernel-patch' output.
gnu/packages/vpn.scm | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..8c69b4be51 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; 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)
@@ -465,19 +467,24 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
+ (outputs '("out"
+ "kernel-patch"))
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +492,16 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
- (assoc-ref %outputs "out"))
+ (assoc-ref %outputs "kernel-patch"))
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40683] [PATCH v4] gnu: Add loadable module to wireguard-linux-compat.
2020-04-26 20:51 ` [bug#40683] [PATCH v4] " Brice Waegeneire
@ 2020-04-26 21:16 ` Leo Famulari
2020-04-26 22:25 ` bug#40683: " Leo Famulari
0 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2020-04-26 21:16 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 40683
[-- Attachment #1.1: Type: text/plain, Size: 519 bytes --]
On Sun, Apr 26, 2020 at 10:51:02PM +0200, Brice Waegeneire wrote:
> * gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
> 'gnu-build-system' by 'linux-module-build-system'.
> [outputs]: Add 'kernel-patch'.
> [arguments]: Adjust the build system. Add phase 'change-directory'.
> Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
> [description]: Mention the loadable module.
Thanks! I've attached a v5 that ensures the license files still get
installed. Does it work for you?
[-- Attachment #1.2: 0001-gnu-Add-loadable-module-to-wireguard-linux-compat.patch --]
[-- Type: text/plain, Size: 4099 bytes --]
From 2e28a69dc384880cf858e4c402588ccd0bfd84fa Mon Sep 17 00:00:00 2001
From: Brice Waegeneire <brice@waegenei.re>
Date: Sun, 26 Apr 2020 22:51:02 +0200
Subject: [PATCH] gnu: Add loadable module to wireguard-linux-compat.
* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[outputs]: Add 'kernel-patch'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.
Signed-off-by: Leo Famulari <leo@famulari.name>
---
gnu/packages/vpn.scm | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..a9e20049c6 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; 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)
@@ -465,19 +467,24 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
+ (outputs '("out"
+ "kernel-patch"))
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +492,21 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
- (assoc-ref %outputs "out"))
+ (assoc-ref %outputs "kernel-patch"))
+ #t))
+ ;; So that 'install-license-files' works...
+ (add-before 'install-license-files 'reset-cwd
+ (lambda _
+ (chdir "..")
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply related [flat|nested] 9+ messages in thread