nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 75 lines 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 certifi, 5 click, 6 fetchFromGitHub, 7 fido2, 8 keyring, 9 keyrings-alt, 10 pytest-mock, 11 pytest-socket, 12 pytestCheckHook, 13 pythonAtLeast, 14 requests, 15 setuptools, 16 setuptools-scm, 17 srp, 18 tzlocal, 19}: 20 21buildPythonPackage rec { 22 pname = "pyicloud"; 23 version = "2.3.0"; 24 pyproject = true; 25 26 src = fetchFromGitHub { 27 owner = "timlaing"; 28 repo = "pyicloud"; 29 tag = version; 30 hash = "sha256-sejOJOzgZD531U5tHMoTwDH0ZkAi0sZ/nPp7uQDIZvU="; 31 }; 32 33 postPatch = '' 34 substituteInPlace pyproject.toml \ 35 --replace-fail "setuptools >= 77.0,< 80.10" setuptools 36 ''; 37 38 build-system = [ 39 setuptools 40 setuptools-scm 41 ]; 42 43 dependencies = [ 44 certifi 45 click 46 fido2 47 keyring 48 keyrings-alt 49 requests 50 srp 51 tzlocal 52 ]; 53 54 nativeCheckInputs = [ 55 pytest-mock 56 pytest-socket 57 pytestCheckHook 58 ]; 59 60 pythonImportsCheck = [ "pyicloud" ]; 61 62 disabledTests = lib.optionals (pythonAtLeast "3.12") [ 63 # https://github.com/picklepete/pyicloud/issues/446 64 "test_storage" 65 ]; 66 67 meta = { 68 description = "Module to interact with iCloud webservices"; 69 mainProgram = "icloud"; 70 homepage = "https://github.com/timlaing/pyicloud"; 71 changelog = "https://github.com/timlaing/pyicloud/releases/tag/${src.tag}"; 72 license = lib.licenses.mit; 73 maintainers = [ lib.maintainers.mic92 ]; 74 }; 75}