python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / ic / icloudpd / package.nix
blob2725853f39bd9b470d95a78fdcd38e789649e3f5
2   lib,
3   python3Packages,
4   fetchFromGitHub,
5   nix-update-script,
6   testers,
7   icloudpd,
8 }:
10 python3Packages.buildPythonApplication rec {
11   pname = "icloudpd";
12   version = "1.25.0";
13   pyproject = true;
15   src = fetchFromGitHub {
16     owner = "icloud-photos-downloader";
17     repo = "icloud_photos_downloader";
18     rev = "v${version}";
19     hash = "sha256-7I/mthqlV5+EWaLRlCmBZPJaf7dWm8alpUtmlxvUNsY=";
20   };
22   pythonRelaxDeps = true;
24   dependencies = with python3Packages; [
25     certifi
26     click
27     flask
28     keyring
29     keyrings-alt
30     piexif
31     python-dateutil
32     pytz
33     requests
34     schema
35     six
36     srp
37     tqdm
38     typing-extensions
39     tzlocal
40     urllib3
41     waitress
42     wheel
43   ];
45   build-system = with python3Packages; [ setuptools ];
47   nativeCheckInputs = with python3Packages; [
48     freezegun
49     mock
50     pytest-timeout
51     pytestCheckHook
52     vcrpy
53   ];
55   disabledTests = [
56     # touches network
57     "test_autodelete_photos"
58     "test_download_autodelete_photos"
59     "test_retry_delete_after_download_session_error"
60     "test_retry_fail_delete_after_download_session_error"
61     "test_retry_delete_after_download_internal_error"
62     "test_autodelete_photos_dry_run"
63     "test_retry_fail_delete_after_download_internal_error"
64     "test_autodelete_invalid_creation_date"
65     "test_folder_structure_de_posix"
66   ];
68   passthru = {
69     updateScript = nix-update-script { };
70     tests = testers.testVersion { package = icloudpd; };
71   };
73   preBuild = ''
74     substituteInPlace pyproject.toml \
75       --replace-fail "setuptools==69.0.2" "setuptools" \
76       --replace-fail "wheel==0.42.0" "wheel"
78     substituteInPlace src/foundation/__init__.py \
79       --replace-fail "0.0.1" "${version}"
80   '';
82   meta = with lib; {
83     homepage = "https://github.com/icloud-photos-downloader/icloud_photos_downloader";
84     description = "iCloud Photos Downloader";
85     license = licenses.mit;
86     mainProgram = "icloudpd";
87     maintainers = with maintainers; [
88       anpin
89       jnsgruk
90     ];
91   };