;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages tcl)
#:use-module ((gnu packages base)
#:select (tar))
#:use-module ((gnu packages compression)
#:select (gzip))
+ #:use-module ((gnu packages openssl)
+ #:renamer (symbol-prefix-proc 'o:))
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages xorg))
(define-public dmd
(package
(name "dmd")
- (version "0.1")
+ (version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
version ".tar.gz"))
(sha256
(base32
- "07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
- (patches (list (search-patch "dmd-getpw.patch")
- (search-patch "dmd-tests-longer-sleeps.patch")))))
+ "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
(name "shadow")
(version "4.1.5.1")
(source (origin
- (method url-fetch)
- (uri (string-append
- "http://pkg-shadow.alioth.debian.org/releases/shadow-"
- version ".tar.bz2"))
+ ;; Shadow has no real upstream, and not even tarballs.
+ ;; See <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00233.html>.
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.debian.org/git/pkg-shadow/shadow")
+ (commit (string-append "upstream/" version))))
(sha256
(base32
- "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma"))))
+ "1xx85d83kmacmjzqbamgydcjkwsqd5fi1s2wgwx6myq5wa39qx0n"))))
(build-system gnu-build-system)
(arguments
'(;; Assume System V `setpgrp (void)', which is the default on GNU
(define-public net-base
(package
(name "net-base")
- (version "5.1")
+ (version "5.2")
(source (origin
(method url-fetch)
(uri (string-append
- "http://ftp.de.debian.org/debian/pool/main/n/netbase/netbase_"
+ "mirror://debian/pool/main/n/netbase/netbase_"
version ".tar.gz"))
(sha256
(base32
- "17l8xk2x632id5f9x9v5fs9wqc650hldd2lf3dh90r1zisj1ya8d"))))
+ "01rkvqrg7krkx8b432nz6bpi8w3s4cm5q5r891k23cdrc9nsaayn"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
(native-inputs `(("perl" ,perl)))
- ;; Even Coreutils and sed are needed here in case we're cross-compiling.
- (inputs `(("coreutils" ,coreutils)
- ("sed" ,sed)
- ("net-tools" ,net-tools)
- ("iproute" ,iproute)))
+ (inputs `(("net-tools" ,net-tools)
+ ("iproute" ,iproute)
+
+ ;; When cross-compiling, we need the cross Coreutils and sed.
+ ;; Otherwise just use those from %FINAL-INPUTS.
+ ,@(if (%current-target-system)
+ `(("coreutils" ,coreutils)
+ ("sed" ,sed))
+ '())))
(home-page "http://www.isc.org/products/DHCP/")
(synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
(license bsd-3)))
+(define-public tcpdump
+ (package
+ (name "tcpdump")
+ (version "4.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
+ (build-system gnu-build-system)
+ (inputs `(("libpcap" ,libpcap)
+ ("openssl" ,o:openssl)))
+ (native-inputs `(("perl" ,perl))) ; for tests
+ (home-page "http://www.tcpdump.org/")
+ (synopsis "Network packet analyzer")
+ (description
+ "Tcpdump is a command-line tool to analyze network traffic passing
+through the network interface controller.")
+ (license bsd-3)))
+
(define-public jnettop
(package
(name "jnettop")
through the host it is running from and displays streams sorted
by bandwidth they use.")
(license gpl2+)))
+
+(define-public clusterssh
+ (package
+ (name "clusterssh")
+ (version "3.28")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/clusterssh/"
+ "clusterssh-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)))
+ (propagated-inputs `(("xterm" ,xterm)
+ ("perl-tk" ,perl-tk)
+ ("perl-x11-protocol" ,perl-x11-protocol)))
+ (arguments
+ `(#:phases
+ (alist-cons-after
+ 'install 'set-load-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
+ ;; path for PROG
+ (let* ((out (assoc-ref outputs "out"))
+ (prog (string-append out "/bin/cssh"))
+ (perl-ver ,(package-version perl))
+ (x11-inc (string-append
+ (assoc-ref inputs "perl-x11-protocol")
+ "/lib/perl5/site_perl/" perl-ver))
+ (tk-inc (string-append
+ (assoc-ref inputs "perl-tk")
+ "/lib/perl5/site_perl/" perl-ver
+ "/x86_64-linux")))
+ (wrap-program
+ prog
+ `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
+ %standard-phases)))
+ ;; The clusterssh.sourceforge.net address requires login to view
+ (home-page "http://sourceforge.net/projects/clusterssh/")
+ (synopsis "Secure concurrent multi-server terminal control")
+ (description
+ "ClusterSSH controls a number of xterm windows via a single graphical
+console window to allow commands to be interactively run on multiple servers
+over ssh connections.")
+ (license gpl2+)))
+
+(define-public rottlog
+ (package
+ (name "rottlog")
+ (version "0.72.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/rottlog/rottlog-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "Makefile.in"
+ (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
+ ;; Don't try to chown root.
+ "")
+ (("mkdir -p \\$\\(ROTT_STATDIR\\)")
+ ;; Don't attempt to create /var/lib/rottlog.
+ "true")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags (list (string-append "ROTT_ETCDIR="
+ (assoc-ref %outputs "out")
+ "/etc")
+ "--localstatedir=/var")
+ #:phases (alist-cons-after
+ 'install 'install-info
+ (lambda _
+ (zero? (system* "make" "install-info")))
+ %standard-phases)))
+ (native-inputs `(("texinfo" ,texinfo)
+ ("util-linux" ,util-linux))) ; for 'cal'
+ (home-page "http://www.gnu.org/software/rottlog/")
+ (synopsis "Log rotation and management")
+ (description
+ "GNU Rot[t]log is a program for managing log files. It is used to
+automatically rotate out log files when they have reached a given size or
+according to a given schedule. It can also be used to automatically compress
+and archive such logs. Rot[t]log will mail reports of its activity to the
+system administrator.")
+ (license gpl3+)))
+
+(define-public sudo
+ (package
+ (name "sudo")
+ (version "1.8.10p2")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (list (string-append "http://www.sudo.ws/sudo/dist/sudo-"
+ version ".tar.gz")
+ (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
+ version ".tar.gz")))
+ (sha256
+ (base32
+ "1wbrygz584abmywklq0b4xhqn3s1bjk3rrladslr5nycdpdvhv5s"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--with-logpath=/var/log/sudo.log")
+ #:phases (alist-cons-before
+ 'configure 'pre-configure
+ (lambda _
+ (substitute* "configure"
+ ;; Refer to the right executables.
+ (("/usr/bin/mv") (which "mv"))
+ (("/usr/bin/sh") (which "sh")))
+ (substitute* (find-files "." "Makefile\\.in")
+ (("-O [[:graph:]]+ -G [[:graph:]]+")
+ ;; Allow installation as non-root.
+ "")
+ (("^install: (.*)install-sudoers(.*)" _ before after)
+ ;; Don't try to create /etc/sudoers.
+ (string-append "install: " before after "\n"))))
+ %standard-phases)
+
+ ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
+ ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
+ #:tests? #f))
+ (inputs
+ `(("groff" ,groff)
+ ("linux-pam" ,linux-pam)
+ ("coreutils" ,coreutils)))
+ (home-page "http://www.sudo.ws/")
+ (synopsis "Run commands as root")
+ (description
+ "Sudo (su \"do\") allows a system administrator to delegate authority to
+give certain users (or groups of users) the ability to run some (or all)
+commands as root or another user while providing an audit trail of the
+commands and their arguments.")
+
+ ;; See <http://www.sudo.ws/sudo/license.html>.
+ (license x11)))
+
+(define-public wpa-supplicant
+ (package
+ (name "wpa-supplicant")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://hostap.epitest.fi/releases/wpa_supplicant-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0xxjw7lslvql1ykfbwmbhdrnjsjljf59fbwf837418s97dz2wqwi"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (chdir "wpa_supplicant")
+ (copy-file "defconfig" ".config")
+ (let ((port (open-file ".config" "al")))
+ (display "
+ CONFIG_DEBUG_SYSLOG=y
+ CONFIG_CTRL_IFACE_DBUS=y
+ CONFIG_CTRL_IFACE_DBUS_NEW=y
+ CONFIG_CTRL_IFACE_DBUS_INTRO=y
+ CONFIG_DRIVER_NL80211=y
+ CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
+ CONFIG_LIBNL32=y
+ CONFIG_READLINE=y\n" port)
+ (close-port port)))
+ %standard-phases)
+
+ #:make-flags (list "CC=gcc"
+ (string-append "BINDIR=" (assoc-ref %outputs "out")
+ "/sbin")
+ (string-append "LIBDIR=" (assoc-ref %outputs "out")
+ "/lib"))
+ #:tests? #f))
+ (inputs
+ `(("readline" ,readline)
+ ("libnl" ,libnl)
+ ("dbus" ,dbus)
+ ("openssl" ,o:openssl)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://hostap.epitest.fi/wpa_supplicant/")
+ (synopsis "Connecting to WPA and WPA2-protected wireless networks")
+ (description
+ "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
+802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
+the client stations. It implements key negotiation with a WPA Authenticator
+and it controls the roaming and IEEE 802.11 authentication/association of the
+WLAN driver.
+
+This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
+
+ ;; In practice, this is linked against Readline, which makes it GPLv3+.
+ (license bsd-3)))
+
+(define-public wakelan
+ (package
+ (name "wakelan")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir-p (string-append out "/share/man/man1"))
+
+ ;; It's an old configure script that doesn't understand
+ ;; the extra options we pass.
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (zero?
+ (system* "./configure"
+ (string-append "--prefix=" out)
+ (string-append "--mandir=" out
+ "/share/man")))))
+ %standard-phases)
+ #:tests? #f))
+ (home-page "http://kernel.org") ; really, no home page
+ (synopsis "Send a wake-on-LAN packet")
+ (description
+ "WakeLan broadcasts a properly formatted UDP packet across the local area
+network, which causes enabled computers to power on.")
+ (license gpl2+)))