summaryrefslogtreecommitdiff
path: root/gnu/packages/networking.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-06-26 16:32:57 +0200
committerMarius Bakke <marius@gnu.org>2020-07-02 23:20:51 +0200
commit3162d11e700232bb6d73d4cddd93757f9673d973 (patch)
treeae78d4a2249bd3a1db6fed58d6c07f6f56956b7a /gnu/packages/networking.scm
parent4d06076714f03da55d09efede055f0c40da3403e (diff)
downloadguix-patches-3162d11e700232bb6d73d4cddd93757f9673d973.tar
guix-patches-3162d11e700232bb6d73d4cddd93757f9673d973.tar.gz
gnu: Add parprouted.
* gnu/packages/networking.scm (parprouted): New public variable.
Diffstat (limited to 'gnu/packages/networking.scm')
-rw-r--r--gnu/packages/networking.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a060c63604..077ede2f23 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -328,6 +328,54 @@ It includes the following programs:
;; The user can choose version 2 or 3 of the GPL, not later versions.
(license (list license:gpl2 license:gpl3))))
+(define-public parprouted
+ (package
+ (name "parprouted")
+ (version "0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.hazard.maks.net/parprouted/"
+ "parprouted-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z6yg28i0pv20jivyy82pxb38hsryj95inhj27bs6ja1bp4l6dnn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'insert-absolute-iproute-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((iproute (assoc-ref inputs "iproute"))
+ (ip (string-append iproute "/sbin/ip")))
+ (substitute* "parprouted.c"
+ (("/sbin/ip") ip))
+ #t)))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sbin (string-append out "/sbin"))
+ (man8 (string-append out "/share/man/man8")))
+ ;; No configure script; hijack the phase to make
+ ;; the necessary arrangements.
+ (setenv "CC" ,(cc-for-target))
+ (for-each mkdir-p (list sbin man8))
+ (substitute* "Makefile"
+ (("/usr/local/sbin") sbin)
+ (("/usr/local/man/man8") man8))
+ #t))))))
+ (inputs
+ `(("iproute" ,iproute)))
+ (home-page "https://www.hazard.maks.net/parprouted/")
+ (synopsis "Proxy ARP requests to other interfaces")
+ (description
+ "@command{parprouted} is a daemon for transparent IP (Layer@tie{}3)
+proxy ARP bridging. Unlike standard bridging, proxy ARP bridging can bridge
+Ethernet networks behind wireless nodes. Normal layer@tie{}2 bridging does
+not work between wireless nodes because wireless does not know about MAC
+addresses used in the wired Ethernet networks. This daemon can also be
+useful for making transparent firewalls.")
+ (license license:gpl2)))
+
(define-public socat
(package
(name "socat")