+
+(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)))