diff --git a/pkgs/development/python-modules/rfcat/default.nix b/pkgs/development/python-modules/rfcat/default.nix new file mode 100644 index 00000000000..7bb390e79a2 --- /dev/null +++ b/pkgs/development/python-modules/rfcat/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, future +, ipython +, numpy +, pyserial +, pyusb +, hostPlatform +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "rfcat"; + version = "1.9.5"; + + src = fetchFromGitHub { + owner = "atlas0fd00m"; + repo = "rfcat"; + rev = "v${version}"; + sha256 = "1mmr7g7ma70sk6vl851430nqnd7zxsk7yb0xngwrdx9z7fbz2ck0"; + }; + + propagatedBuildInputs = [ + future + ipython + numpy + pyserial + pyusb + ]; + + postInstall = lib.optionalString hostPlatform.isLinux '' + mkdir -p $out/etc/udev/rules.d + cp etc/udev/rules.d/20-rfcat.rules $out/etc/udev/rules.d + ''; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "rflib" ]; + + meta = with lib; { + description = "Swiss Army knife of sub-GHz ISM band radio"; + homepage = "https://github.com/atlas0fd00m/rfcat"; + license = licenses.bsd3; + maintainers = with maintainers; [ trepetti ]; + changelog = "https://github.com/atlas0fd00m/rfcat/releases/tag/v${version}"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 810ecb9b86f..f9a1752edc3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6923,6 +6923,8 @@ in { rfc7464 = callPackage ../development/python-modules/rfc7464 { }; + rfcat = callPackage ../development/python-modules/rfcat { }; + rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl { }); rich = callPackage ../development/python-modules/rich { };