Files
Sergei Trofimovich cd8f22ea7e pypy3Packages.adb-shell: fix the eval
Without the change the eval fails on `master` as:

    $ nix build --no-link -f. pypy3Packages.adb-shell
    error:
       … while evaluating the attribute 'drvPath'
         at lib/customisation.nix:415:11:
          414|         // {
          415|           drvPath =
             |           ^
          416|             assert condition;

       … while evaluating the attribute 'drvPath'
         at lib/customisation.nix:415:11:
          414|         // {
          415|           drvPath =
             |           ^
          416|             assert condition;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: attribute 'optional-dependencies' missing
       at pkgs/development/python-modules/adb-shell/default.nix:56:27:
           55|   ]
           56|   ++ lib.concatAttrValues finalAttrs.optional-dependencies;
             |                           ^
           57|
2026-05-28 22:14:54 +01:00

67 lines
1.2 KiB
Nix

{
lib,
pythonOlder,
aiofiles,
async-timeout,
buildPythonPackage,
setuptools,
cryptography,
fetchFromGitHub,
isPy3k,
libusb1,
mock,
pyasn1,
pycryptodome,
pytestCheckHook,
rsa,
}:
buildPythonPackage (finalAttrs: {
pname = "adb-shell";
version = "0.4.4";
pyproject = true;
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "JeffLIrion";
repo = "adb_shell";
rev = "v${finalAttrs.version}";
hash = "sha256-pOkFUh3SEu/ch9R1lVoQn50nufQp8oI+D4/+Ybal5CA=";
};
build-system = [ setuptools ];
dependencies = [
cryptography
pyasn1
rsa
];
optional-dependencies = {
async = [
aiofiles
async-timeout
];
usb = [ libusb1 ];
};
doCheck = pythonOlder "3.12"; # FIXME: tests are broken on 3.13
nativeCheckInputs = [
mock
pycryptodome
pytestCheckHook
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
pythonImportsCheck = [ "adb_shell" ];
meta = {
description = "Python implementation of ADB with shell and FileSync functionality";
homepage = "https://github.com/JeffLIrion/adb_shell";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jamiemagee ];
};
})