* [bug#53319] [PATCH] gnu: Add n2n. @ 2022-01-17 14:47 路辉 2022-01-28 10:10 ` Nicolas Goaziou 2022-02-22 11:20 ` bug#53319: " Nicolas Goaziou 0 siblings, 2 replies; 6+ messages in thread From: 路辉 @ 2022-01-17 14:47 UTC (permalink / raw) To: 53319 From c9d69917251e377c3291443dda0090cfa5e46956 Mon Sep 17 00:00:00 2001 From: Lu Hui <luhux76@gmail.com> Date: Mon, 17 Jan 2022 10:48:44 +0800 Subject: [PATCH] gnu: Add n2n. * gnu/packages/vpn.scm (n2n-2): New variable --- gnu/packages/vpn.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 4ad555ef1b..542d6518fd 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Domagoj Stolfa <ds815@gmx.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2022 Lu hui <luhux76@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1093,3 +1094,39 @@ (define-public xl2tpd "xl2tpd is an implementation of the Layer 2 Tunnelling Protocol (RFC 2661). L2TP allows you to tunnel PPP over UDP.") (license license:gpl2))) + +(define-public n2n-2 + (package + (name "n2n") + (version "2.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ntop/n2n") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ph2npvnqh1xnmkp96pdzpxm033jkb8zznd3nc59l9arhn0pq4nv")))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake)) + (arguments + `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") + #:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'move-configure + ;; don't execute configure script in bootstrap + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "autogen.sh" + (("./configure") "")))) + (add-before 'configure 'fix-configure + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure" + (("/bin/sh") (which "sh")))))) + #:tests? #f)) ;there is no check target + (home-page "https://github.com/ntop/n2n") + (synopsis "Peer-to-peer VPN client and server") + (description + "A light VPN software which makes it +easy to create virtual networks bypassing intermediate firewalls.") + (license license:gpl3+))) -- 2.34.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#53319] [PATCH] gnu: Add n2n. 2022-01-17 14:47 [bug#53319] [PATCH] gnu: Add n2n 路辉 @ 2022-01-28 10:10 ` Nicolas Goaziou 2022-02-22 11:36 ` Maxime Devos 2022-02-22 11:20 ` bug#53319: " Nicolas Goaziou 1 sibling, 1 reply; 6+ messages in thread From: Nicolas Goaziou @ 2022-01-28 10:10 UTC (permalink / raw) To: 路辉; +Cc: 53319 Hello, 路辉 <luhux76@gmail.com> writes: > Subject: [PATCH] gnu: Add n2n. Thank you. Some comments follow. > +(define-public n2n-2 I think the variable should be "n2n" only. > + (native-inputs (list autoconf automake)) > + (arguments > + `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") CC=gcc is not cross-compilation friendly. Also, %output is being phased out. I suggest using G-expressions: (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output) #$(string-append "CC=" (cc-for-target))) ...)) > + #:phases > + (modify-phases %standard-phases If you use G-expressions, you'll need to start with: #~(modify-phases %standard-phases ...) > + (add-before 'configure 'fix-configure > + (lambda* (#:key inputs #:allow-other-keys) > + (substitute* "configure" > + (("/bin/sh") (which "sh")))))) Instead of using `which', you can use `search-input-file': (("/bin/sh") (search-input-file inputs "/bin/sh")) > + #:tests? #f)) ;there is no check target > + (home-page "https://github.com/ntop/n2n") > + (synopsis "Peer-to-peer VPN client and server") > + (description > + "A light VPN software which makes it > +easy to create virtual networks bypassing intermediate firewalls.") Description should consist of full sentences. I suggest: n2n is a light VPN software which makes it easy to create virtual networks bypassing intermediate firewalls. Also, the package brings third-party software: libnatpmp and libupnp. Would it be possible to unbundle them, since Guix already ships both? Could you send an updated patch? Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#53319] [PATCH] gnu: Add n2n. 2022-01-28 10:10 ` Nicolas Goaziou @ 2022-02-22 11:36 ` Maxime Devos 2022-02-22 18:49 ` Nicolas Goaziou 0 siblings, 1 reply; 6+ messages in thread From: Maxime Devos @ 2022-02-22 11:36 UTC (permalink / raw) To: Nicolas Goaziou, 路辉; +Cc: 53319 [-- Attachment #1: Type: text/plain, Size: 1125 bytes --] Nicolas Goaziou schreef op vr 28-01-2022 om 11:10 [+0100]: > > + (add-before 'configure 'fix-configure > > + (lambda* (#:key inputs #:allow-other-keys) > > + (substitute* "configure" > > + (("/bin/sh") (which "sh")))))) > > Instead of using `which', you can use `search-input-file': > > (("/bin/sh") (search-input-file inputs "/bin/sh")) 'configure' is run during build, so for cross-compilation, a sh from 'native-inputs' shoud be used instead of 'inputs': (("/bin/sh") (search-input-file (or native-inputs inputs) "/bin/sh")) or simpler: (("/bin/sh") (which "sh")) Also, this package definition packages version 2.8. Why not package the latest version instead? In the latest version, 'autogen.sh' does not run "./configure" and hence 'move-configure' and 'fix-configure' should not be necessary. Also, looking at <https://github.com/ntop/n2n/blob/472a9878f72299466ddbce2a232ea9e081159fa9/configure.seed#L94>, it seems that n2n might not be bit-for-bit reproducible. Greetings, Maxime [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#53319] [PATCH] gnu: Add n2n. 2022-02-22 11:36 ` Maxime Devos @ 2022-02-22 18:49 ` Nicolas Goaziou 2022-03-20 12:20 ` 路辉 0 siblings, 1 reply; 6+ messages in thread From: Nicolas Goaziou @ 2022-02-22 18:49 UTC (permalink / raw) To: Maxime Devos; +Cc: 路辉, 53319 Hello, Maxime Devos <maximedevos@telenet.be> writes: > 'configure' is run during build, so for cross-compilation, a sh from > 'native-inputs' shoud be used instead of 'inputs': > > (("/bin/sh") (search-input-file (or native-inputs inputs) "/bin/sh")) True, I keep forgetting about this. It would be more natural to use (search-input-file native-inputs "/bin/sh"), but, IIRC, native-inputs may be empty if we are not cross-compiling. I will fix it. > or simpler: > > (("/bin/sh") (which "sh")) IIUC, search-input-file is a replacement for `which', so that seems to be going backwards. Of course, if `which' is the preferred solution for package style, I'd love to hear a confirmation about it. > Also, this package definition packages version 2.8. Why not package > the latest version instead? The OP waited one month without any feedback. I consider this is more respectful to apply the patch in its current version rather than requesting more changes now. YMMV. Of course, the update can happen in a later, very welcome, patch. > Also, looking at > <https://github.com/ntop/n2n/blob/472a9878f72299466ddbce2a232ea9e081159fa9/configure.seed#L94>, > it seems that n2n might not be bit-for-bit reproducible. I agree this package has room for improvement. Hopefully, 路辉 can have a look at it. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#53319] [PATCH] gnu: Add n2n. 2022-02-22 18:49 ` Nicolas Goaziou @ 2022-03-20 12:20 ` 路辉 0 siblings, 0 replies; 6+ messages in thread From: 路辉 @ 2022-03-20 12:20 UTC (permalink / raw) To: Nicolas Goaziou; +Cc: 53319, Maxime Devos [-- Attachment #1: Type: text/plain, Size: 1543 bytes --] Nicolas Goaziou <mail@nicolasgoaziou.fr> 于2022年2月22日周二 18:49写道: > > Hello, > > Maxime Devos <maximedevos@telenet.be> writes: > > > 'configure' is run during build, so for cross-compilation, a sh from > > 'native-inputs' shoud be used instead of 'inputs': > > > > (("/bin/sh") (search-input-file (or native-inputs inputs) "/bin/sh")) > > True, I keep forgetting about this. It would be more natural to use > (search-input-file native-inputs "/bin/sh"), but, IIRC, native-inputs > may be empty if we are not cross-compiling. > > I will fix it. > > > or simpler: > > > > (("/bin/sh") (which "sh")) > > IIUC, search-input-file is a replacement for `which', so that seems to > be going backwards. > > Of course, if `which' is the preferred solution for package style, I'd > love to hear a confirmation about it. > > > Also, this package definition packages version 2.8. Why not package > > the latest version instead? > > The OP waited one month without any feedback. I consider this is more > respectful to apply the patch in its current version rather than > requesting more changes now. YMMV. > > Of course, the update can happen in a later, very welcome, patch. > > > Also, looking at > > <https://github.com/ntop/n2n/blob/472a9878f72299466ddbce2a232ea9e081159fa9/configure.seed#L94>, > > it seems that n2n might not be bit-for-bit reproducible. > > I agree this package has room for improvement. Hopefully, 路辉 can have > a look at it. > > Regards, > -- > Nicolas Goaziou [-- Attachment #2: 0004-gnu-n2n-Update-to-3.0.patch --] [-- Type: text/x-patch, Size: 1069 bytes --] From de6bd8d8dd3d4b14999361f66d15f0827ada0b1b Mon Sep 17 00:00:00 2001 From: Lu Hui <luhux76@gmail.com> Date: Sun, 20 Mar 2022 20:13:13 +0800 Subject: [PATCH 4/4] gnu: n2n: Update to 3.0 * gnu/packages/vpn.scm (n2n): [version]: Update to 3.0. --- gnu/packages/vpn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index f066bfa689..6c63c3d671 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -299,7 +299,7 @@ (define-public gvpe (define-public n2n (package (name "n2n") - (version "2.8") + (version "3.0") (source (origin (method git-fetch) (uri (git-reference @@ -308,7 +308,7 @@ (define-public n2n (file-name (git-file-name name version)) (sha256 (base32 - "1ph2npvnqh1xnmkp96pdzpxm033jkb8zznd3nc59l9arhn0pq4nv")))) + "0kgqmqcn6s2y2rxa0i6myq3sgk2aliv1gkfhzvn32zgym9rrqy9r")))) (build-system gnu-build-system) (arguments (list -- 2.34.0 [-- Attachment #3: 0002-gnu-n2n-remove-hardcodepath.patch --] [-- Type: text/x-patch, Size: 1114 bytes --] From f9f12ca9c8a890322385d0ad695f370e21f4465b Mon Sep 17 00:00:00 2001 From: Lu Hui <luhux76@gmail.com> Date: Sun, 20 Mar 2022 19:45:33 +0800 Subject: [PATCH 2/4] gnu: n2n: remove hardcodepath * gnu/packages/vpn.scm (n2n): [phases]: New phase --- gnu/packages/vpn.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 4b0e7d751a..db9e8cb059 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -327,6 +327,13 @@ (define-public n2n (substitute* "configure.seed" (("DATE=`date +\"%Y-%m-%d\"`") "DATE=`TZ=utc date -d @0 +\"%Y-%m-%d\"`")))) + (add-before 'bootstrap 'remove-hardcodepath + (lambda _ + (substitute* "configure.seed" + (("-I/usr/local/opt/openssl@1.1/include") + "") + (("-I/usr/local/opt/openssl@1.1/lib") + "")))) (add-before 'configure 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) (substitute* "configure" -- 2.34.0 [-- Attachment #4: 0003-gnu-n2n-add-compression-AES-crypto-method-support.patch --] [-- Type: text/x-patch, Size: 923 bytes --] From 85c40a89ea1458f5abc9ac8c22f4a6968b48decf Mon Sep 17 00:00:00 2001 From: Lu Hui <luhux76@gmail.com> Date: Sun, 20 Mar 2022 20:07:23 +0800 Subject: [PATCH 3/4] gnu: n2n: add compression,AES crypto method support. * gnu/packages/vpn.scm (n2n): [inputs]: Add zstd-lib libpcap openssl libcap. --- gnu/packages/vpn.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index db9e8cb059..f066bfa689 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -340,6 +340,8 @@ (define-public n2n (("/bin/sh") (search-input-file (or native-inputs inputs) "/bin/sh")))))) #:tests? #f)) ;there is no check target + (inputs + (list `(,zstd "lib") libpcap openssl libcap)) (native-inputs (list autoconf automake bash-minimal pkg-config)) (home-page "https://github.com/ntop/n2n") -- 2.34.0 [-- Attachment #5: 0001-gnu-n2n-more-reproducible.patch --] [-- Type: text/x-patch, Size: 1012 bytes --] From a6c98dfaedebba172d451d62ba2d4c9b18aea3b8 Mon Sep 17 00:00:00 2001 From: Lu Hui <luhux76@gmail.com> Date: Sun, 20 Mar 2022 19:16:52 +0800 Subject: [PATCH 1/4] gnu: n2n: more reproducible. * gnu/packages/vpn.scm (n2n): [phases]: New Variable. --- gnu/packages/vpn.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 5bf5a62481..4b0e7d751a 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -322,6 +322,11 @@ (define-public n2n (lambda _ (substitute* "autogen.sh" (("./configure") "")))) + (add-before 'bootstrap 'more-reproducible + (lambda _ + (substitute* "configure.seed" + (("DATE=`date +\"%Y-%m-%d\"`") + "DATE=`TZ=utc date -d @0 +\"%Y-%m-%d\"`")))) (add-before 'configure 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) (substitute* "configure" -- 2.34.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#53319: [PATCH] gnu: Add n2n. 2022-01-17 14:47 [bug#53319] [PATCH] gnu: Add n2n 路辉 2022-01-28 10:10 ` Nicolas Goaziou @ 2022-02-22 11:20 ` Nicolas Goaziou 1 sibling, 0 replies; 6+ messages in thread From: Nicolas Goaziou @ 2022-02-22 11:20 UTC (permalink / raw) To: 路辉; +Cc: 53319-done Hello, 路辉 <luhux76@gmail.com> writes: > Subject: [PATCH] gnu: Add n2n. Thank you. I applied your patch with the changes below. > > +(define-public n2n-2 I renamed it to n2n. > + (native-inputs (list autoconf automake)) I added pkg-config and bash-minimal. > + (arguments > + `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") Using G-expressions I wrote #:make-flags #~(list (string-append "PREFIX=" #$output) (string-append "CC=" #$(cc-for-target))) ... > + (substitute* "configure" > + (("/bin/sh") (which "sh")))))) Here I wrote (("/bin/sh") (search-inputs-file input "/bin/sh")) > + #:tests? #f)) ;there is no check target > + (home-page "https://github.com/ntop/n2n") > + (synopsis "Peer-to-peer VPN client and server") > + (description > + "A light VPN software which makes it I turned the description into complete sentences. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-03-20 12:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-01-17 14:47 [bug#53319] [PATCH] gnu: Add n2n 路辉 2022-01-28 10:10 ` Nicolas Goaziou 2022-02-22 11:36 ` Maxime Devos 2022-02-22 18:49 ` Nicolas Goaziou 2022-03-20 12:20 ` 路辉 2022-02-22 11:20 ` bug#53319: " Nicolas Goaziou
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.