1{ lib
2, aiofiles
3, buildPythonPackage
4, cryptography
5, fetchFromGitHub
6, isPy3k
7, libusb1
8, mock
9, pyasn1
10, pythonAtLeast
11, pycryptodome
12, pytestCheckHook
13, rsa
14}:
15
16buildPythonPackage rec {
17 pname = "adb-shell";
18 version = "0.4.3";
19 format = "setuptools";
20
21 disabled = !isPy3k;
22
23 src = fetchFromGitHub {
24 owner = "JeffLIrion";
25 repo = "adb_shell";
26 rev = "v${version}";
27 hash = "sha256-+RU3nyJpHq0r/9erEbjUILpwIPWq14HdOX7LkSxySs4=";
28 };
29
30 propagatedBuildInputs = [
31 cryptography
32 pyasn1
33 rsa
34 ];
35
36 passthru.optional-dependencies = {
37 async = [
38 aiofiles
39 ];
40 usb = [
41 libusb1
42 ];
43 };
44
45 checkInputs = [
46 mock
47 pycryptodome
48 pytestCheckHook
49 ]
50 ++ passthru.optional-dependencies.async
51 ++ passthru.optional-dependencies.usb;
52
53 pythonImportsCheck = [
54 "adb_shell"
55 ];
56
57 meta = with lib; {
58 description = "Python implementation of ADB with shell and FileSync functionality";
59 homepage = "https://github.com/JeffLIrion/adb_shell";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ jamiemagee ];
62 };
63}