From 9703a51048fbc1d322595d676ff0d63b1eb89304 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 3 Jun 2021 18:17:07 +0200 Subject: gnu: Add rfcat. * gnu/packages/radio.scm (rfcat): New variable. --- gnu/packages/radio.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 1145c12c87..c0b1ed13e0 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1952,3 +1952,59 @@ acts a general-purpose software FSK modem, and includes support for various standard FSK protocols such as Bell103, Bell202, RTTY, TTY/TDD, NOAA SAME, and Caller-ID.") (license license:gpl3+))) + +(define-public rfcat + ;; Use a commit for now because some fixes to make rfcat work with + ;; Python 3 instead of Python 2 are not in a release yet. + (let ((commit "725bf79af27d47cdec64107317c1c8fe3f7ad7b8") + (revision "1")) + (package + (name "rfcat") + (version (git-version "1.9.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atlas0fd00m/rfcat") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dbc6n4pxsa73wzxny773khc73r1dn3ma5hi7xv76vcykjvzkdi3")))) + (build-system python-build-system) + (inputs + `(("python-future" ,python-future) + ("python-ipython" ,python-ipython) + ("python-numpy" ,python-numpy) + ("python-pyserial" ,python-pyserial) + ("python-pyside-2" ,python-pyside-2) + ("python-pyusb" ,python-pyusb))) + (arguments + `(#:tests? #f ; Tests want to use a serial port + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "rflib/rflib_version.py"))) + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (install-file "etc/udev/rules.d/20-rfcat.rules" + (string-append (assoc-ref outputs "out") + "/lib/udev/rules.d"))))))) + (home-page "https://github.com/atlas0fd00m/rfcat") + (synopsis "Program to control some radio dongles") + (description + "@code{rfcat} is a program to control some radio dongles operating in +ISM bands. + +Supported dongles: +@itemize +@item YARD Stick One +@item cc1111emk +@item chronos watch dongle +@item imme (limited support) +@end itemize + +To install the rfcat udev rules, you must extend @code{udev-service-type} with +this package. E.g.: @code{(udev-rules-service 'rfcat rfcat)}") + (license (list license:bsd-3 + license:gpl2))))) -- cgit v1.2.3