;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages dns)
+ #:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages inkscape)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages openldap)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages xml)
#:use-module (gnu packages boost)
#:use-module (gnu packages elf)
- #:use-module (gnu packages mpi))
+ #:use-module (gnu packages mpi)
+ #:use-module (gnu packages web))
(define-public aide
(package
(define-public progress
(package
(name "progress")
- (version "0.13.1")
+ (version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Xfennec/"
name "/archive/v" version ".tar.gz"))
(sha256
- (base32 "199rk6608q9m6l0fbjm0xl2w1c5krf8245dqnksdp4rqp7l9ak06"))
+ (base32 "1wcanixfsi5k4i9h5vrnncgjdncalsdfqllrxibxwpgfnf20sji1"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs
(define-public shepherd
(package
(name "shepherd")
- (version "0.4.0")
+ (version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
- "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
+ "1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
(define-public dfc
(package
(name "dfc")
- (version "3.0.4")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://projects.gw-computing.net/attachments/download/79/dfc-"
+ "https://projects.gw-computing.net/attachments/download/615/dfc-"
version ".tar.gz"))
(sha256
(base32
- "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
+ "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; There are no tests.
(native-inputs `(("gettext" ,gettext-minimal)))
- (home-page "http://projects.gw-computing.net/projects/dfc")
+ (home-page "https://projects.gw-computing.net/projects/dfc")
(synopsis "Display file system space usage using graphs and colors")
(description
"dfc (df color) is a modern version of df. It uses colors, draws pretty
(define-public shadow
(package
(name "shadow")
- (version "4.5")
+ (version "4.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
- (patches (search-patches "shadow-CVE-2018-7169.patch"))
(sha256
(base32
- "0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w"))))
+ "10smy01km2bqjjvsd2jz17zvrxbzj89qczyb1amk38j28bcci609"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
"libc"))))
(substitute* "lib/nscd.c"
(("/usr/sbin/nscd")
- (string-append libc "/sbin/nscd"))))))
+ (string-append libc "/sbin/nscd")))
+ #t)))
(add-after 'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils.
(output (assoc-ref %outputs "out"))
(etc (string-append output "/etc")))
(setenv "PATH" (string-append xz "/bin"))
- (system* (string-append tar "/bin/tar") "xvf"
- source)
+ (invoke (string-append tar "/bin/tar") "xvf"
+ source)
(chdir ,(string-append "netbase-" version))
(mkdir-p etc)
(for-each copy-file
"This package provides the /etc/services, /etc/protocols, and /etc/rpc
files, which contain information about the IANA-assigned port, protocol, and
ONC RPC numbers.")
- (home-page "http://packages.debian.org/sid/netbase")
+ (home-page "https://packages.debian.org/sid/netbase")
(license license:gpl2)))
(define-public netcat
(define-public isc-dhcp
(let* ((bind-major-version "9")
- (bind-minor-version "9")
- (bind-patch-version "11")
+ (bind-minor-version "11")
+ (bind-patch-version "4")
(bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "1") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
bind-release-version)))
(package
(name "isc-dhcp")
- (version "4.3.6-P1")
+ (version "4.4.1")
(source (origin
(method url-fetch)
- (uri (string-append "http://ftp.isc.org/isc/dhcp/"
+ (uri (string-append "https://ftp.isc.org/isc/dhcp/"
version "/dhcp-" version ".tar.gz"))
(sha256
(base32
- "1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"))))
+ "025nfqx4zwdgv4b3rkw26ihcj312vir08jk6yi57ndmb4a4m08ia"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
sh " SHELL=" sh))))
(let ((bind-directory (string-append "bind-" ,bind-version)))
- (system* "tar" "xf" "bind.tar.gz")
+ (invoke "tar" "xf" "bind.tar.gz")
(for-each patch-shebang
(find-files bind-directory ".*"))
- (zero? (system* "tar" "cf" "bind.tar.gz"
- bind-directory
- ;; avoid non-determinism in the archive
- "--sort=name"
- "--mtime=@0"
- "--owner=root:0"
- "--group=root:0"))))))
+ (invoke "tar" "cf" "bind.tar.gz"
+ bind-directory
+ ;; avoid non-determinism in the archive
+ "--sort=name"
+ "--mtime=@0"
+ "--owner=root:0"
+ "--group=root:0")))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Install the dhclient script for GNU/Linux and make sure
,(map (lambda (dir)
(string-append dir "/bin:"
dir "/sbin"))
- (list inetutils net-tools coreutils sed))))))))))
+ (list inetutils net-tools coreutils sed))))
+ #t))))))
(native-inputs `(("perl" ,perl)))
("bind-source-tarball"
,(origin
(method url-fetch)
- (uri (string-append "http://ftp.isc.org/isc/bind9/"
+ (uri (string-append "https://ftp.isc.org/isc/bind9/"
bind-version
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "1a4g6nzzrbmhngdgvgv1jjq4fm06m8fwc2a0gskkchplxl7dva20"))))
+ "08zyy13b8ydfbg26b3y6mw299qs89ba90gymraqqjsgjicydrq5h"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
("sed" ,sed))
'())))
- (home-page "http://www.isc.org/products/DHCP/")
+ (home-page "https://www.isc.org/products/DHCP/")
(synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
(description
"ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
reference implementation of all aspects of DHCP, through a suite of DHCP
tools: server, client, and relay agent.")
- (license license:isc)
+ (license license:mpl2.0)
(properties '((cpe-name . "dhcp"))))))
(define-public libpcap
(package
(name "libpcap")
- (version "1.8.1")
+ (version "1.9.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.tcpdump.org/release/libpcap-"
+ (uri (string-append "https://www.tcpdump.org/release/libpcap-"
version ".tar.gz"))
(sha256
(base32
- "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7"))))
+ "06bhydl4vr4z9c3vahl76f2j96z1fbrcl7wwismgs4sris08inrf"))))
(build-system gnu-build-system)
- (native-inputs `(("bison" ,bison) ("flex" ,flex)))
- (arguments '(#:configure-flags '("--with-pcap=linux")
- #:tests? #f)) ; no 'check' target
- (home-page "http://www.tcpdump.org")
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (arguments
+ ;; There are some tests in testprogs/, but no automated test suite.
+ '(#:tests? #f))
+ (home-page "https://www.tcpdump.org")
(synopsis "Network packet capture library")
(description
"libpcap is an interface for user-level packet capture. It provides a
portable framework for low-level network monitoring. Applications include
network statistics collection, security monitoring, network debugging, etc.")
-
- ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
- (license license:bsd-3)))
+ (license (list license:bsd-4 ; fad-*.c and several other source files
+ license:bsd-3 ; pcap/, sockutils.* & others
+ license:bsd-2)))) ; the rest
(define-public tcpdump
(package
(version "4.9.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
+ (uri (string-append "https://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
(native-inputs `(("perl" ,perl))) ; for tests
- (home-page "http://www.tcpdump.org/")
+ (home-page "https://www.tcpdump.org/")
(synopsis "Network packet analyzer")
(description
"Tcpdump is a command-line tool to analyze network traffic passing
(define-public clusterssh
(package
(name "clusterssh")
- (version "3.28")
+ (version "4.13.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/clusterssh/"
- "1.%20ClusterSSH%20Series%203/" version
- "/clusterssh-" version ".tar.gz"))
+ "2.%20ClusterSSH%20Series%204/"
+ "App-ClusterSSH-v" 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
- (modify-phases %standard-phases
- (add-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))))
- #t)))))
+ "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-cpan-changes" ,perl-cpan-changes)
+ ("perl-file-slurp" ,perl-file-slurp)
+ ("perl-file-which" ,perl-file-which)
+ ("perl-module-build" ,perl-module-build)
+ ("perl-readonly" ,perl-readonly)
+ ("perl-test-differences" ,perl-test-differences)
+ ("perl-test-distmanifest" ,perl-test-distmanifest)
+ ("perl-test-perltidy" ,perl-test-perltidy)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)
+ ("perl-test-trap" ,perl-test-trap)
+ ("perltidy" ,perltidy)))
+ (propagated-inputs
+ `(("xterm" ,xterm)
+ ("perl-exception-class" ,perl-exception-class)
+ ("perl-tk" ,perl-tk)
+ ("perl-try-tiny" ,perl-try-tiny)
+ ("perl-x11-protocol" ,perl-x11-protocol)
+ ("perl-x11-protocol-other" ,perl-x11-protocol-other)))
;; The clusterssh.sourceforge.net address requires login to view
(home-page "https://sourceforge.net/projects/clusterssh/")
(synopsis "Secure concurrent multi-server terminal control")
(define-public rename
(package
(name "rename")
- (version "0.20")
+ (version "1.00")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"))))
+ "03yhf8nmqsb0zyliv501fdvwlp589jqfn44yqkrflmpzrbik3zxl"))))
(build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'find-itself
+ ;; Fix run-time 'Can't locate File/Rename.pm in @INC' failure.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (with-directory-excursion bin
+ (for-each
+ (lambda (program)
+ (wrap-program program
+ `("PERL5LIB" ":" prefix
+ (,(string-append out "/lib/perl5/site_perl")))))
+ (find-files "." ".*")))
+ #t))))))
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-test-pod" ,perl-test-pod)
"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")))))
+ '(begin
+ (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"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
(define-public sudo
(package
(name "sudo")
- (version "1.8.22")
+ (version "1.8.25p1")
(source (origin
(method url-fetch)
(uri
version ".tar.gz")))
(sha256
(base32
- "00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj"))
+ "0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx"))
(modules '((guix build utils)))
(snippet
- '(delete-file-recursively "lib/zlib"))))
+ '(begin
+ (delete-file-recursively "lib/zlib")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--with-logpath=/var/log/sudo.log"
- "--with-rundir=/var/run/sudo" ;must be cleaned up at boot time
+ "--with-rundir=/var/run/sudo" ; must be cleaned up at boot time
"--with-vardir=/var/db/sudo"
"--with-iologdir=/var/log/sudo-io"
(source (origin
(method url-fetch)
(uri (string-append
- "http://w1.fi/releases/wpa_supplicant-"
+ "https://w1.fi/releases/wpa_supplicant-"
version
".tar.gz"))
(patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
+ "wpa-supplicant-CVE-2018-14526.patch"
"wpa-supplicant-fix-key-reuse.patch"
"wpa-supplicant-fix-zeroed-keys.patch"
"wpa-supplicant-fix-nonce-reuse.patch"
("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://w1.fi/wpa_supplicant/")
+ (home-page "https://w1.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
(string-append dir "/wpa_supplicant.conf")))
#t))))))))
+(define-public wpa-supplicant-gui
+ (package
+ (inherit wpa-supplicant)
+ (name "wpa-supplicant-gui")
+ (inputs `(("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ,@(package-inputs wpa-supplicant)))
+ (native-inputs
+ ;; For icons.
+ `(("imagemagick" ,imagemagick)
+ ("inkscape" ,inkscape)
+ ,@(package-native-inputs wpa-supplicant)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "wpa_supplicant/wpa_gui-qt4")
+ #t))
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "qmake" "wpa_gui.pro")
+ (invoke "make" "-j" (number->string (parallel-job-count)))
+ (invoke "make" "-C" "icons")))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (qt '("qtbase" "qtsvg")))
+ (substitute* "wpa_gui.desktop"
+ (("Exec=wpa_gui")
+ (string-append "Exec=" out "/bin/wpa_gui")))
+ (install-file "wpa_gui" (string-append out "/bin"))
+ (install-file "wpa_gui.desktop"
+ (string-append out "/share/applications"))
+ (copy-recursively "icons/hicolor"
+ (string-append out "/share/icons/hicolor"))
+ (wrap-program (string-append out "/bin/wpa_gui")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins/"))
+ qt)))
+ #t))))))
+ (synopsis "Graphical user interface for WPA supplicant")))
+
(define-public wakelan
(package
(name "wakelan")
(string-append "--mandir=" out
"/share/man")))))))
#:tests? #f))
- (home-page "http://kernel.org") ; really, no home page
+ (home-page "https://www.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
(define-public dmidecode
(package
(name "dmidecode")
- (version "3.1")
+ (version "3.2")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "1h0sg0lxa15nzf8s7884p6q7p6md9idm0c79wyqmk32l4ndwwrnp"))))
+ "1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
(define-public acpica
(package
(name "acpica")
- (version "20180313")
+ (version "20180810")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "16galaadmr37q2pvk2gyxrm8d1xldzk31djfxfq9v1c9yq4i425h"))))
+ "01drf32h0v1s8yd414rgc9bavb52yffrwpnbzfxd9sk1lwssr6v7"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
"CC=gcc"
"HOST=_LINUX"
"OPT_CFLAGS=-Wall -fno-strict-aliasing")
- #:tests? #f ; no 'check' target.
+ #:tests? #f ; no 'check' target
#:phases (modify-phases %standard-phases (delete 'configure))))
(home-page "https://acpica.org/")
(synopsis "Tools for the development and debug of ACPI tables")
subsystem, and a small set of tools to assist in developing and debugging ACPI
tables. This package contains only the user-space tools needed for ACPI table
development, not the kernel implementation of ACPI.")
- (license license:gpl2))) ; Dual GPLv2/ACPICA Licence
+ (license license:gpl2))) ; dual GPLv2/ACPICA Licence
(define-public stress
(package
(base32
"1nwvjmx7kb14ni34c0b8x9a3791pc20gvhj7xaj66d8q4h6n0qf4"))
(modules '((guix build utils)))
- (snippet '(substitute* "tests/testsuite"
- (("#![[:blank:]]?/bin/sh")
- "#!$SHELL")))))
+ (snippet '(begin
+ (substitute* "tests/testsuite"
+ (("#![[:blank:]]?/bin/sh")
+ "#!$SHELL"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
(source (origin
(method url-fetch)
(uri (string-append
- "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
+ "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
version ".tar.gz"))
(sha256
(base32
(define-public ansible
(package
(name "ansible")
- (version "2.4.2.0")
+ (version "2.5.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32
- "0n3n9py4s3aykiii31xq8g4wmd6693jvby0424pjrg0bna01apri"))
+ "0wbsjjx3xjlm8g50a9j9c6p9rn23jx32yn1234bf5rmj1qgy3p85"))
(patches (search-patches "ansible-wrap-program-hack.patch"))))
(build-system python-build-system)
(native-inputs
- `(("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)))
+ `(("python-bcrypt" ,python-bcrypt)
+ ("python-pynacl" ,python-pynacl)
+ ("python-httplib2" ,python-httplib2)
+ ("python-passlib" ,python-passlib)
+ ("python-nose" ,python-nose)
+ ("python-mock" ,python-mock)
+ ("python-jinja2" ,python-jinja2)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-paramiko" ,python-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
+ `(("python-cryptography" ,python-cryptography)
+ ("python-jinja2" ,python-jinja2)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-paramiko" ,python-paramiko)))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible is a radically simple IT automation system. It
(define-public autojump
(package
(name "autojump")
- (version "22.3.4")
+ (version "22.5.1")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
+ "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"))))
(build-system gnu-build-system)
(native-inputs ;for tests
`(("python-mock" ,python-mock)
(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))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'check
+ (lambda _
+ (invoke "python" "tests/unit/autojump_utils_test.py")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "SHELL" (which "bash"))
+ (invoke "python" "install.py"
+ (string-append "--destdir="
+ (assoc-ref outputs "out"))))))))
(home-page "https://github.com/wting/autojump")
(synopsis "Shell extension for file system navigation")
(description
(define-public audit
(package
(name "audit")
- (version "2.4.5")
+ (home-page "https://people.redhat.com/sgrubb/audit/")
+ (version "2.8.4")
(source (origin
(method url-fetch)
- (uri (string-append "http://people.redhat.com/sgrubb/audit/"
- "audit-" version ".tar.gz"))
+ (uri (string-append home-page name "-" version ".tar.gz"))
(sha256
(base32
- "1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
+ "0f4ci6ffznnmgblwgv7ich9mjfk3p6y5l6m6h3chhmzw156nj454"))))
(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)))))
+ `(#:configure-flags (list "--with-python=no"
+ "--disable-static")))
(inputs
`(("openldap" ,openldap)
("gnutls" ,gnutls)
(modules '((guix build utils)))
(snippet
'(begin
- (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"))
+ (for-each delete-file-recursively
+ ;; Remove bundled lua, pcap, and pcre libraries.
+ ;; FIXME: Remove bundled liblinear once packaged.
+ '("liblua"
+ "libpcap"
+ "libpcre"
+ ;; Remove pre-compiled binares.
+ "mswin32"))
#t))))
(build-system gnu-build-system)
(inputs
(define-public thefuck
(package
(name "thefuck")
- (version "3.25")
+ (version "3.27")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nvbn/thefuck/archive/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
+ "0my32n2x8x0f0wr8ql7qgk9qhb6ibv5b1rqs5b2r4nadv0gpiv96"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
(add-installed-pythonpath inputs outputs)
;; Some tests need write access to $HOME.
(setenv "HOME" "/tmp")
- (zero? (system* "py.test" "-v")))))))
+ (invoke "py.test" "-v")
+ #t)))))
(propagated-inputs
`(("python-colorama" ,python-colorama)
("python-decorator" ,python-decorator)
(define-public di
(package
(name "di")
- (version "4.46")
+ (version "4.47")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
- (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
+ (base32 "0zlapxlzjizwzwa8xwrwibhcbkh0wx7n74gvjpp6wlwq7cgiq0xm"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; Obscure test failures.
+ `(#:tests? #f ; obscure test failures.
#:phases
(modify-phases %standard-phases
(delete 'configure)
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")
+ (home-page "https://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
(snippet
;; Remove binaries contained in the tarball which are only for the
;; target and can be regenerated anyway.
- '(delete-file-recursively "bin"))
+ '(begin
+ (delete-file-recursively "bin")
+ #t))
(file-name (string-append name "-" version ".tar.gz"))))
(native-inputs
`(("pkg-config" ,pkg-config)
buffers.")
(license license:expat)))
-(define-public intel-gpu-tools
+(define-public igt-gpu-tools
(package
- (name "intel-gpu-tools")
- (version "1.22")
+ (name "igt-gpu-tools")
+ (version "1.23")
(source (origin
(method url-fetch)
(uri (string-append "https://cgit.freedesktop.org/xorg/app/"
"intel-gpu-tools/snapshot/"
- "intel-gpu-tools-" version ".tar.gz"))
+ name "-" version ".tar.gz"))
(sha256
(base32
- "1jx5w5fr6jp67rcrlp5v79cn8kp9n0wgd5pbfgzamlah5cx6j3yd"))))
+ "0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; many of the tests try to load kernel modules
+ `(#:tests? #f ; many of the tests try to load kernel modules
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(setenv "NOCONFIGURE" "1")
(invoke "sh" "autogen.sh"))))))
(inputs
- `(("eudev" ,eudev)
- ("util-macros" ,util-macros)
+ `(("cairo" ,cairo)
+ ("eudev" ,eudev)
+ ("glib" ,glib)
+ ("kmod" ,kmod)
("libdrm" ,libdrm)
("libpciaccess" ,libpciaccess)
- ("kmod" ,kmod)
- ("procps" ,procps)
- ("cairo" ,cairo)
("libunwind" ,libunwind)
("libxrandr" ,libxrandr)
- ("glib" ,glib)))
+ ("openssl" ,openssl)
+ ("procps" ,procps)
+ ("util-macros" ,util-macros)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
(synopsis "Tools for development and testing of the Intel DRM driver")
- (description "Intel GPU Tools is a collection of tools for development and
+ (description "IGT GPU Tools is a collection of tools for development and
testing of the Intel DRM driver. There are many macro-level test suites that
get used against the driver, including xtest, rendercheck, piglit, and
oglconform, but failures from those can be difficult to track down to kernel
changes, and many require complicated build procedures or specific testing
-environments to get useful results. Therefore, Intel GPU Tools includes
+environments to get useful results. Therefore, IGT GPU Tools includes
low-level tools and tests specifically for development and testing of the
Intel DRM Driver.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:expat)))
+(define-public intel-gpu-tools
+ (deprecated-package "intel-gpu-tools" igt-gpu-tools))
+
(define-public fabric
(package
(name "fabric")
- (version "1.13.2")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Fabric" version))
(sha256
(base32
- "0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq"))))
+ "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2)) ; Python 2 only
+ `(#:python ,python-2 ; Python 2 only
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke
+ "nosetests" "-v" "tests/"
+ ;; This test hangs indefinitely when run on a single core VM
+ ;; (see GNU bug #26647 and Debian bug #850230).
+ "--exclude=test_nested_execution_with_explicit_ports"
+ ;; This test randomly fails in certain environments causing too
+ ;; much noise to be useful (see Debian bug #854686).
+ "--exclude=test_should_use_sentinel_for_tasks_that_errored"))))))
(native-inputs
- `(("python2-fudge" ,python2-fudge)
- ("python2-jinja2" ,python2-jinja2)
- ("python2-nose" ,python2-nose)))
+ `(("python2-fudge" ,python2-fudge) ; Requires < 1.0
+ ("python2-jinja2" ,python2-jinja2) ; Requires < 3.0
+ ("python2-nose" ,python2-nose) ; Requires < 2.0
+ ("python2-pynacl" ,python2-pynacl)
+ ("python2-bcrypt" ,python2-bcrypt)))
(propagated-inputs
`(("python2-paramiko" ,python2-paramiko)))
(home-page "http://fabfile.org")
(define-public neofetch
(package
(name "neofetch")
- (version "3.4.0")
+ (version "5.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/dylanaraps/neofetch/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dylanaraps/neofetch")
+ (commit version)))
(sha256
(base32
- "18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
+ "0yzyi2p0d8xp576lxyv5m9h60dl1d5dmrn40aad307872835b9rr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
(list (string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-target-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("\\$\\(DESTDIR\\)/etc/")
- "$(PREFIX)/etc/"))
- (substitute* "neofetch"
- (("\"/etc/neofetch")
- (string-append "\"" out "/etc/neofetch"))
- (("\"/usr/share/neofetch")
- (string-append "\"" out "/share/neofetch"))))
- #t))
- (delete 'configure) ; no configure script
- (replace 'install
- (lambda* (#:key make-flags outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version))
- (etc (string-append doc "/examples/etc")))
- (zero? (apply system* `("make" ,@make-flags
- ,(string-append "SYSCONFDIR=" etc)
- "install")))))))))
+ (delete 'configure)))) ; no configure script
(home-page "https://github.com/dylanaraps/neofetch")
- (synopsis "System info script")
- (description "Neofetch is a CLI system information tool written in Bash.
-Neofetch displays information about your system next to an image, your OS
+ (synopsis "System information script")
+ (description "Neofetch is a command-line system information tool written in
+Bash. Neofetch displays information about your system next to an image, your OS
logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
used in screenshots to show other users what operating system or distribution
you are running, what theme or icon set you are using, etc.")
(define-public nnn
(package
(name "nnn")
- (version "1.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/jarun/nnn/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0zswf8lb29zr1z642i1d0zi1y2mxal8qjqdrpdiqjh197jamj3zm"))))
+ (version "1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
+ version "/" name "-v" version ".tar.gz"))
+ (sha256
+ (base32 "1d6z12y4rlg4dzhpm30irpq2ak8hjh5zykkp2n7vxnz5m4ki89zp"))))
(build-system gnu-build-system)
- (inputs `(("ncurses" ,ncurses)
- ("readline" ,readline)))
+ (inputs
+ `(("ncurses" ,ncurses)
+ ("readline" ,readline)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(arguments
- '(#:tests? #f ; no tests
+ '(#:tests? #f ; no tests
#:phases
- ;; We do not provide `ncurses.h' within an `ncursesw'
- ;; sub-directory, so patch the source accordingly. See
- ;; <http://bugs.gnu.org/19018>.
- ;; Thanks to gtypist maintainer.
(modify-phases %standard-phases
- (add-after 'unpack 'patch-curses-lib
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("-lncursesw")
- "-lncurses"))
- (substitute* "nnn.c"
- (("ncursesw\\/curses.h")
- "ncurses.h")))
- #t))
- (delete 'configure))
+ (delete 'configure)) ; no configure script
#:make-flags
(list
(string-append "PREFIX="
(assoc-ref %outputs "out"))
- (string-append "-Wl,-rpath="
- %output "/lib")
"CC=gcc")))
(home-page "https://github.com/jarun/nnn")
(synopsis "Terminal file browser")
(define-public thermald
(package
(name "thermald")
- (version "1.7.1")
+ (version "1.7.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
- "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4"))))
+ "15a6vb67y5wsmf0irrq7sxam18yqpz64130k83ryf24mp40h661b"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after
- 'unpack 'autogen.sh-and-fix-paths
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; XXX this can probably be removed after version 1.7.1.
- ;; upstartconfir is hardcoded to /etc/init and the build
- ;; system tries to mkdir that. We don't even need upstart
- ;; files at all; this is a fast and kludgy workaround
- (substitute* "data/Makefile.am"
- (("upstartconfdir = /etc/init")
- (string-append "upstartconfdir = "
- out "/etc/init")))
- ;; Now run autogen
- (invoke "sh" "autogen.sh")
- #t))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _
+ (invoke "sh" "autogen.sh")
+ #t)))
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--sysconfdir="
(synopsis "CPU scaling for thermal management")
(description "The Linux Thermal Daemon helps monitor and control temperature
on systems running the Linux kernel.")
- ;; arm and aarch64 don't have cpuid.h
+ ;; arm and aarch64 don't have cpuid.h.
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+)))
"Spindle is a tool for improving the performance of dynamic library and
Python loading in HPC environments.")
(home-page "https://github.com/hpc/Spindle")
+ ;; This package supports x86_64 and PowerPC64
+ (supported-systems '("x86_64-linux"))
+ (license license:lgpl2.1)))
+
+(define-public inxi-minimal
+ (let ((real-name "inxi"))
+ (package
+ (name "inxi-minimal")
+ (version "3.0.20-1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/smxi/inxi")
+ (commit version)))
+ (sha256
+ (base32
+ "1k9148xnfznch1443niaa3w1kmsw4vp0xpwna6npgmi7zqg06ymy"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("bash" ,bash)
+ ("perl" ,perl)))
+ (native-inputs
+ `(("gzip" ,gzip)))
+ (arguments
+ `(#:modules
+ ((guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+ (setenv "PATH" (string-append
+ (assoc-ref %build-inputs "bash") "/bin" ":"
+ (assoc-ref %build-inputs "gzip") "/bin" ":"
+ (assoc-ref %build-inputs "perl") "/bin" ":"))
+ (copy-recursively (assoc-ref %build-inputs "source")
+ ,(string-append real-name "-" version))
+ (with-directory-excursion ,(string-append real-name "-" version)
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* "inxi" (("/usr/bin/env perl") (which "perl"))))
+ (let ((bin (string-append %output "/bin")))
+ (install-file "inxi" bin)
+ (wrap-program (string-append bin "/inxi")
+ `("PATH" ":" =
+ ("$PATH"
+ ,@(map (lambda (input)
+ (match input
+ ((name . store)
+ (let ((store-append
+ (cut string-append store <>)))
+ (cond
+ ((member name '("util-linux"))
+ (string-append (store-append "/bin") ":"
+ (store-append "/sbin")))
+ ((member name '("dmidecode" "iproute2"))
+ (store-append "/sbin"))
+ (else (store-append "/bin")))))))
+ %build-inputs)))
+ `("PERL5LIB" ":" =
+ ,(delete
+ ""
+ (map (match-lambda
+ (((? (cut string-prefix? "perl-" <>) name) . dir)
+ (string-append dir "/lib/perl5/site_perl"))
+ (_ ""))
+ %build-inputs)))))
+ (invoke "gzip" "inxi.1")
+ (install-file "inxi.1.gz"
+ (string-append %output "/share/man/man1")))
+ #t)))
+ (home-page "https://smxi.org/docs/inxi.htm")
+ (synopsis "Full-featured system information script")
+ (description "Inxi is a system information script that can display
+various things about your hardware and software to users in an IRC chatroom or
+support forum. It runs with the @code{/exec} command in most IRC clients.")
+ (license license:gpl3+))))
+
+(define-public inxi
+ (package
+ (inherit inxi-minimal)
+ (name "inxi")
+ (inputs
+ `(("dmidecode" ,dmidecode)
+ ("file" ,file)
+ ("bind:utils" ,isc-bind "utils") ; dig
+ ("gzip" ,gzip)
+ ("iproute2" ,iproute) ; ip
+ ("kmod" ,kmod) ; modinfo
+ ("lm-sensors" ,lm-sensors)
+ ("mesa-utils" ,mesa-utils)
+ ("pciutils" ,pciutils)
+ ("procps" ,procps)
+ ("tar" ,tar)
+ ("tree" ,tree)
+ ("util-linux" ,util-linux) ; lsblk
+ ("usbutils" ,usbutils) ; lsusb
+ ("wmctrl" ,wmctrl)
+ ("xdpyinfo" ,xdpyinfo)
+ ("xprop" ,xprop)
+ ("xrandr" ,xrandr)
+ ("coreutils" ,coreutils) ; uptime
+ ("inetutils" ,inetutils) ; ifconfig
+ ("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
+ ("perl-http-tiny" ,perl-http-tiny)
+ ("perl-io-socket-ssl" ,perl-io-socket-ssl)
+ ("perl-json-xs" ,perl-json-xs)
+ ("perl-time-hires" ,perl-time-hires)
+ ;; TODO: Add more inputs:
+ ;; ipmi-sensors
+ ;; hddtemp
+ ;; perl-xml-dumper
+ ;; ipmitool
+ ,@(package-inputs inxi-minimal)))))
+
+(define-public pscircle
+ (package
+ (name "pscircle")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/mildlyparallel/pscircle/-/archive/v"
+ version "/pscircle-v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k757yf2bmgfrjd417l6kpcf83hlvi0z1791vz967mwcklrsb3fj"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("libpng" ,libpng)
+ ("libx11" ,libx11)))
+ (home-page "https://gitlab.com/mildlyparallel/pscircle")
+ (synopsis "Visualize Linux processes in a form of radial tree")
+ (description
+ "@code{pscircle} visualizes Linux processes in the form of a radial tree.")
+ (license license:gpl2+)))
+
+(define-public python-pyudev
+ (package
+ (name "python-pyudev")
+ (version "0.21.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyudev" version))
+ (sha256
+ (base32
+ "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Tests require /sys
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-ctypes-udev
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((eudev (assoc-ref inputs "eudev")))
+ (substitute* "src/pyudev/core.py"
+ (("'udev'")
+ (string-append "'" eudev "/lib/libudev.so'")))
+ (substitute* "src/pyudev/_ctypeslib/utils.py"
+ ;; Use absolute paths instead of keys.
+ (("= find_library") "= "))
+ #t))))))
+ (inputs
+ `(("eudev" ,eudev)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (native-inputs
+ `(("python-docutils" ,python-docutils)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "http://pyudev.readthedocs.org/")
+ (synopsis "Python udev binding")
+ (description "This package provides @code{udev} bindings for Python.")
(license license:lgpl2.1)))
+
+(define-public solaar
+ (package
+ (name "solaar")
+ (version "0.9.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pwr/Solaar.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "085mfa13dap3wqik1dqlad0d7kff4rv7j4ljh99c7l8nhczkqgwm"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-prefix-detection
+ (lambda _
+ (substitute* "setup.py"
+ (("'--prefix' in sys\\.argv")
+ "len([x.startswith('--prefix=') for x in sys.argv]) > 0"))
+ #t))
+ (replace 'build
+ (lambda _
+ (invoke "python" "setup.py" "build")))
+ (add-before 'check 'setenv-PATH
+ (lambda _
+ (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH")))
+ #t)))))
+ (propagated-inputs
+ `(("python-pygobject" ,python-pygobject)
+ ("python-pyudev" ,python-pyudev)))
+ (home-page "https://smxi.org/docs/inxi.htm")
+ (synopsis "Linux devices manager for the Logitech Unifying Receiver")
+ (description "This package provides tools to manage clients of the
+Logitech Unifying Receiver.")
+ (license license:gpl2)))