+
+(define-public ansible
+ (package
+ (name "ansible")
+ (version "2.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ansible" version))
+ (sha256
+ (base32
+ "1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+ ("python2-pycrypto" ,python2-pycrypto)
+ ("python2-httplib2" ,python2-httplib2)
+ ("python2-passlib" ,python2-passlib)
+ ("python2-nose" ,python2-nose)
+ ("python2-mock" ,python2-mock)
+ ("python2-jinja2" ,python2-jinja2)
+ ("python2-pyyaml" ,python2-pyyaml)
+ ("python2-paramiko" ,python2-paramiko)))
+ (inputs
+ `(("python2-pycrypto" ,python2-pycrypto)
+ ("python2-jinja2" ,python2-jinja2)
+ ("python2-pyyaml" ,python2-pyyaml)
+ ("python2-paramiko" ,python2-paramiko)))
+ (arguments
+ `(#:python ,python-2)) ; incompatible with Python 3
+ (home-page "http://ansible.com/")
+ (synopsis "Radically simple IT automation")
+ (description "Ansible is a radically simple IT automation system. It
+handles configuration-management, application deployment, cloud provisioning,
+ad-hoc task-execution, and multinode orchestration - including trivializing
+things like zero downtime rolling updates with load balancers.")
+ (license license:gpl3+)))
+
+(define-public cpulimit
+ (package
+ (name "cpulimit")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/opsengine/cpulimit/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nn2w849xd5bw4y5sqnll29nxdwl5h0cv4smc7dwmpb9qnd2ycb4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace
+ 'build
+ (lambda _
+ (zero? (system* "make" "CC=gcc" "-Csrc"))))
+ (replace
+ 'check
+ (lambda _
+ (zero? (system* "make" "CC=gcc" "-Ctests"))))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "src/cpulimit" bin)))))))
+ (home-page "https://github.com/opsengine/cpulimit")
+ (synopsis "Limit CPU usage")
+ (description
+ "Cpulimit limits the CPU usage of a process. It does not change the nice
+value or other scheduling priority settings, but the real CPU usage, and is
+able to adapt itself dynamically to the overall system load. Children
+processes and threads of the specified process may optionally share the same
+limits.")
+ (license license:gpl2+)))
+
+(define-public autojump
+ (package
+ (name "autojump")
+ (version "22.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/wting/autojump/archive/"
+ "release-v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
+ (build-system gnu-build-system)
+ (native-inputs ;for tests
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)))
+ (inputs
+ `(("python" ,python-wrapper)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'check
+ (lambda _
+ (zero?
+ (system* "python" "tests/unit/autojump_utils_test.py"))))
+ (replace 'install
+ ;; The install.py script doesn't allow system installation
+ ;; into an arbitrary prefix, so do our own install.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/autojump"))
+ (py (string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python-wrapper))
+ "/site-packages"))
+ (man (string-append out "/share/man/man1")))
+ (install-file "bin/autojump" bin)
+ (for-each (λ (f) (install-file f py))
+ (find-files "bin" "\\.py$"))
+ (for-each (λ (f) (install-file f share))
+ (find-files "bin" "autojump\\..*$"))
+ (substitute* (string-append share "/autojump.sh")
+ (("/usr/local") out))
+ (install-file "docs/autojump.1" man)
+ (wrap-program (string-append bin "/autojump")
+ `("PYTHONPATH" ":" prefix (,py)))
+ #t))))))
+ (home-page "https://github.com/wting/autojump")
+ (synopsis "Shell extension for file system navigation")
+ (description
+ "Autojump provides a faster way to navigate your file system, with a \"cd
+command that learns\". It works by maintaining a database of the directories
+you use the most from the command line and allows you to \"jump\" to
+frequently used directories by typing only a small pattern.")
+ (license license:gpl3+)))
+
+(define-public iftop
+ (package
+ (name "iftop")
+ (version "1.0pre4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.ex-parrot.com/~pdw/iftop/download"
+ "/iftop-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libpcap" ,libpcap)
+ ("ncurses" ,ncurses)))
+ (synopsis "Monitor network usage")
+ (description "Iftop does for network usage what @command{top} does
+for CPU usage. It listens to network traffic on a named interface and
+displays a table of current bandwidth usage by pairs of hosts.")
+ (home-page "http://www.ex-parrot.com/~pdw/iftop/")
+ (license license:gpl2+)))
+
+(define-public munge
+ (package
+ (name "munge")
+ (version "0.5.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/dun/munge/releases/"
+ "download/munge-" version "/munge-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
+ (inputs
+ `(("openssl" ,openssl)
+ ("libgcrypt" ,libgcrypt)))
+ (build-system gnu-build-system)
+ (home-page "https://dun.github.io/munge/")
+ (synopsis "Cluster computing authentication service")
+ (description
+ "Munge is an authentication service for creating and validating
+credentials. It allows a process to authenticate the UID and GID of another
+local or remote process within a group of hosts having common users and
+groups. These hosts form a security realm that is defined by a shared
+cryptographic key. Clients within this security realm can create and validate
+credentials without the use of root privileges, reserved ports, or
+platform-specific methods.")
+ (license license:gpl3+)))
+
+(define-public audit
+ (package
+ (name "audit")
+ (version "2.4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://people.redhat.com/sgrubb/audit/"
+ "audit-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
+ (build-system gnu-build-system)
+ (home-page "http://people.redhat.com/sgrubb/audit/")
+ (arguments
+ `(#:configure-flags (list "--with-python=no")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; In the build environmnte /etc/passwd does not contain an entry
+ ;; for root/0, so we have to patch the expected value.
+ (substitute* "auparse/test/auparse_test.ref"
+ (("=0 \\(root\\)") "=0 (unknown(0))"))
+ #t)))))
+ (inputs
+ `(("openldap" ,openldap)
+ ("gnutls" ,gnutls)
+ ("sasl" ,cyrus-sasl)))
+ (synopsis "User-space component to the Linux auditing system")
+ (description
+ "auditd is the user-space component to the Linux auditing system, which
+allows logging of system calls made by user-land processes. It's responsible
+for writing audit records to the disk. Viewing the logs is done with the
+@code{ausearch} or @code{aureport} utilities. Configuring the audit rules is
+done with the @code{auditctl} utility.")
+ (license license:gpl2+)))
+
+(define-public nmap
+ (package
+ (name "nmap")
+ (version "7.31")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://nmap.org/dist/nmap-" version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0hiqb28950kn4bjsmw0ksfyss7j2qdmgrj3xsjf7073pq01lx7yb"))
+ (modules '((guix build utils)))
+ (snippet
+ '(map delete-file-recursively
+ ;; Remove bundled lua, pcap, and pcre libraries.
+ ;; FIXME: Remove bundled liblinear once packaged.
+ '("liblua"
+ "libpcap"
+ "libpcre"
+ ;; Remove pre-compiled binares.
+ "mswin32")))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("openssl" ,openssl)
+ ("libpcap" ,libpcap)
+ ("pcre" ,pcre)
+ ("lua" ,lua)
+ ;; For 'ndiff'.
+ ("python" ,python-2)))
+
+ ;; TODO Add zenmap output.
+ (outputs '("out" "ndiff"))
+ (arguments
+ '(#:configure-flags '("--without-zenmap")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-Makefile
+ (lambda _
+ (substitute* "Makefile"
+ ;; Do not attempt to build lua.
+ (("build-dnet build-lua") "build-dnet"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define (make out . args)
+ (unless (zero? (apply system* "make"
+ (string-append "prefix=" out)
+ args))
+ (error "make failed")))
+ (define (python-path dir)
+ (string-append dir "/lib/python2.7/site-packages"))
+ (let ((out (assoc-ref outputs "out"))
+ (ndiff (assoc-ref outputs "ndiff")))
+ (for-each mkdir-p (list out ndiff))
+ (make out
+ "install-nmap"
+ "install-nse"
+ "install-ncat"
+ "install-nping")
+ (make ndiff "install-ndiff")
+ (wrap-program (string-append ndiff "/bin/ndiff")
+ `("PYTHONPATH" prefix
+ (,(python-path ndiff)))))))
+ ;; These are the tests that do not require network access.
+ (replace 'check
+ (lambda _ (zero? (system* "make"
+ "check-nse"
+ "check-ndiff"
+ "check-dns")))))
+ ;; Nmap can't cope with out-of-source building.
+ #:out-of-source? #f))
+ (home-page "https://nmap.org/")
+ (synopsis "Network discovery and security auditing tool")
+ (description
+ "Nmap (\"Network Mapper\") is a network discovery and security auditing
+tool. It is also useful for tasks such as network inventory, managing service
+upgrade schedules, and monitoring host or service uptime. It also provides an
+advanced netcat implementation (ncat), a utility for comparing scan
+results (ndiff), and a packet generation and response analysis tool (nping).")
+ ;; This package uses nmap's bundled versions of libdnet and liblinear, which
+ ;; both use a 3-clause BSD license.
+ (license (list license:nmap license:bsd-3))))
+
+(define-public dstat
+ (package
+ (name "dstat")
+ (version "0.7.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/dagwieers/dstat/archive/"
+ version ".tar.gz"))
+ (file-name (string-append "dstat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;; no make check
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "DESTDIR=" out)
+ "prefix=/"))
+ ;; no configure script
+ #:phases (alist-delete 'configure %standard-phases)))
+ (inputs `(("python-2" ,python-2)))
+ (synopsis "Versatile resource statistics tool")
+ (description "Dstat is a versatile replacement for @command{vmstat},
+@command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes
+some of their limitations and adds some extra features, more counters and
+flexibility. Dstat is handy for monitoring systems during performance tuning
+tests, benchmarks or troubleshooting.
+
+Dstat allows you to view all of your system resources in real-time, you can,
+e.g., compare disk utilization in combination with interrupts from your IDE
+controller, or compare the network bandwidth numbers directly with the disk
+throughput (in the same interval).")
+ (home-page "http://dag.wiee.rs/home-made/dstat/")
+ (license license:gpl2+)))
+
+(define-public thefuck
+ (package
+ (name "thefuck")
+ (version "3.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nvbn/thefuck/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-decorator" ,python-decorator)
+ ("python-psutil" ,python-psutil)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/nvbn/thefuck")
+ (synopsis "Correct mistyped console command")
+ (description
+ "The Fuck tries to match a rule for a previous, mistyped command, creates
+a new command using the matched rule, and runs it.")
+ (license license:x11)))
+
+(define-public di
+ (package
+ (name "di")
+ (version "4.42")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
+ (sha256
+ (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; Obscure test failures.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'setup-environment
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (setenv "prefix" (assoc-ref outputs "out"))
+ #t)))
+ #:make-flags (list "--environment-overrides")))
+ (home-page "https://www.gentoo.com/di/")
+ (synopsis "Advanced df like disk information utility")
+ (description
+ "'di' is a disk information utility, displaying everything
+(and more) that your @code{df} command does. It features the ability to
+display your disk usage in whatever format you prefer. It is designed to be
+highly portable. Great for heterogenous networks.")
+ (license license:zlib)))
+
+(define-public cbatticon
+ (package
+ (name "cbatticon")
+ (version "1.6.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/valr/"
+ name "/archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("gettext" ,gettext-minimal)
+ ("libnotify" ,libnotify)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Lightweight battery icon for the system tray")
+ (description "cbatticon is a lightweight battery icon that displays
+the status of your battery in the system tray.")
+ (home-page "https://github.com/valr/cbatticon")
+ (license license:gpl2+)))
+
+(define-public interrobang
+ (let ((revision "1")
+ (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
+ (package
+ (name "interrobang")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://github.com/TrilbyWhite/interrobang")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)) ; no configure script
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out")))))
+ (inputs
+ `(("libx11" ,libx11)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Scriptable launcher menu")
+ (description "Interrobang is a scriptable launcher menu with a customizable
+shortcut syntax and completion options.")
+ (home-page "https://github.com/TrilbyWhite/interrobang")
+ (license license:gpl3+))))
+
+
+
+(define-public pam-krb5
+ (package
+ (name "pam-krb5")
+ (version "4.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://archives.eyrie.org/software/kerberos/" name "-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'disable-tests
+ (lambda _
+ ;; The build container seems to interfere with some tests.
+ (substitute* "tests/TESTS"
+ (("module/basic\n") ""))
+ (substitute* "tests/TESTS"
+ (("pam-util/vector\n") ""))
+ #t)))))
+ (inputs
+ `(("linux-pam" ,linux-pam)
+ ("mit-krb5" ,mit-krb5)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("perl-test-pod" ,perl-test-pod))) ; required for tests
+ (synopsis "Kerberos PAM module")
+ (description
+ "Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.
+It supports ticket refreshing by screen savers, configurable
+authorization handling, authentication of non-local accounts for network
+services, password changing, and password expiration, as well as all the
+standard expected PAM features. It works correctly with OpenSSH, even
+with ChallengeResponseAuthentication and PrivilegeSeparation enabled,
+and supports extensive configuration either by PAM options or in
+krb5.conf or both. PKINIT is supported with recent versions of both MIT
+Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
+ (home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
+ ;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
+ ;; However, the tarball does not contain a copy of the GPL, so unless
+ ;; we put one in, we cannot distribute it under GPL without violating
+ ;; clause requiring us to give all recipients a copy.
+ (license license:gpl1+)))
+
+;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/linux-sunxi/"
+ "sunxi-tools/archive/v" version ".tar.gz"))
+ (sha256
+ (base32 "06qd2b4dlzbmzfy4q9n8v5rkkbmgcfdbv4nkkcp4nysi10k7cpfs"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove binaries contained in the tarball which are only for the
+ ;; target and can be regenerated anyway.
+ '(delete-file-recursively "bin"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libusb" ,libusb)))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests exist
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ "CROSS_COMPILE="
+ "CC=gcc"
+ "all")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (zero? (apply system* "make" "install-all" "install-misc"
+ make-flags)))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-fexc}, @command{bin2fex}, @command{fex2bin}: Compile
+a textual description of a board (.fex) to a binary representation (.bin).
+@item @command{sunxi-fel}: Puts an Allwinner device into FEL mode which
+makes it register as a special USB device (rather than USB host).
+You can then connect it to another computer and flash it from there.
+@item @command{sunxi-nand-part}: Partitions NAND flash.
+@item @command{sunxi-bootinfo}: Reads out boot0 and boot1 (Allwinner
+bootloader) parameters.
+@item @command{sunxi-pio}: Sets GPIO parameters and oscillates a GPIO
+in order to be able to find it.
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
+@end enumerate")
+ (license license:gpl2+)))