summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-17 23:53:42 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-18 00:12:22 +0200
commit90a0048f5e1ac161fb7a32b361fe35564caabaf9 (patch)
tree51da46a58280d74c91a812a921fe7159159be57c /gnu
parent10afdf506166e028dfb48d56d1f3bff3155b90f8 (diff)
downloadguix-patches-90a0048f5e1ac161fb7a32b361fe35564caabaf9.tar
guix-patches-90a0048f5e1ac161fb7a32b361fe35564caabaf9.tar.gz
gnu: Add Linux iproute2.
* gnu/packages/bdb.scm (bdb): Add `--enable-compat185'. * gnu/packages/linux.scm (iproute): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bdb.scm6
-rw-r--r--gnu/packages/linux.scm62
2 files changed, 67 insertions, 1 deletions
diff --git a/gnu/packages/bdb.scm b/gnu/packages/bdb.scm
index 9a626b17d7..75a2b72b44 100644
--- a/gnu/packages/bdb.scm
+++ b/gnu/packages/bdb.scm
@@ -45,7 +45,11 @@
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
- (string-append "SHELL=" (which "bash"))))))
+ (string-append "SHELL=" (which "bash"))
+
+ ;; The compatibility mode is needed by some packages,
+ ;; notably iproute2.
+ "--enable-compat185"))))
%standard-phases)))
(synopsis "db, the Berkeley database")
(description
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 770dd6c5a7..0bc9fbcb5e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -23,8 +23,10 @@
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages flex)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages libusb)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages bdb)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (guix packages)
@@ -480,3 +482,63 @@ from the packet filter ruleset, iptables is used for this, too. The iptables
package also includes ip6tables. ip6tables is used for configuring the IPv6
packet filter.")
(license gpl2+)))
+
+(define-public iproute
+ (package
+ (name "iproute2")
+ (version "3.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/utils/net/iproute2/iproute2-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0kqy30wz2krbg4y7750hjq5218hgy2vj9pm5qzkn1bqskxs4b4ap"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list "DESTDIR="
+ (string-append "LIBDIR=" out "/lib")
+ (string-append "SBINDIR=" out "/sbin")
+ (string-append "CONFDIR=" out "/etc")
+ (string-append "DOCDIR=" out "/share/doc/"
+ ,name "-" ,version)
+ (string-append "MANDIR=" out "/share/man")))
+ #:phases (alist-cons-before
+ 'install 'pre-install
+ (lambda _
+ ;; Don't attempt to create /var/lib/arpd.
+ (substitute* "Makefile"
+ (("^.*ARPDDIR.*$") "")))
+ %standard-phases)))
+ (inputs
+ `(("iptables" ,iptables)
+ ("db4" ,bdb)
+ ("pkg-config" ,pkg-config)
+ ("flex" ,flex)
+ ("bison" ,bison)))
+ (home-page
+ "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2")
+ (synopsis
+ "A collection of utilities for controlling TCP/IP networking and traffic control in Linux")
+ (description
+ "Iproute2 is a collection of utilities for controlling TCP/IP
+networking and traffic with the Linux kernel.
+
+Most network configuration manuals still refer to ifconfig and route as the
+primary network configuration tools, but ifconfig is known to behave
+inadequately in modern network environments. They should be deprecated, but
+most distros still include them. Most network configuration systems make use
+of ifconfig and thus provide a limited feature set. The /etc/net project aims
+to support most modern network technologies, as it doesn't use ifconfig and
+allows a system administrator to make use of all iproute2 features, including
+traffic control.
+
+iproute2 is usually shipped in a package called iproute or iproute2 and
+consists of several tools, of which the most important are ip and tc. ip
+controls IPv4 and IPv6 configuration and tc stands for traffic control. Both
+tools print detailed usage messages and are accompanied by a set of
+manpages.")
+ (license gpl2+)))