diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/ic/icloudpd/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/ic/icloudpd/package.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ic/icloudpd/package.nix b/nixpkgs/pkgs/by-name/ic/icloudpd/package.nix new file mode 100644 index 000000000000..6e03bf9ef62c --- /dev/null +++ b/nixpkgs/pkgs/by-name/ic/icloudpd/package.nix @@ -0,0 +1,83 @@ +{ lib +, python3Packages +, fetchFromGitHub +, nix-update-script +, testers +, icloudpd +}: + +python3Packages.buildPythonApplication rec { + pname = "icloudpd"; + version = "1.17.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "icloud-photos-downloader"; + repo = "icloud_photos_downloader"; + rev = "v${version}"; + hash = "sha256-GS6GqlZfj5kfjKLImkOTDAgQDGJQHl74uTqbZHVpbac="; + }; + + pythonRelaxDeps = true; + + nativeBuildInputs = with python3Packages; [ + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = with python3Packages; [ + wheel + setuptools + requests + schema + click + python-dateutil + tqdm + piexif + urllib3 + six + tzlocal + pytz + certifi + keyring + keyrings-alt + ]; + + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + mock + freezegun + vcrpy + pytest-timeout + ]; + + disabledTests = [ + # touches network + "test_autodelete_photos" + "test_download_autodelete_photos" + "test_retry_delete_after_download_session_error" + "test_retry_fail_delete_after_download_session_error" + "test_retry_delete_after_download_internal_error" + "test_autodelete_photos_dry_run" + "test_retry_fail_delete_after_download_internal_error" + "test_autodelete_invalid_creation_date" + ]; + + passthru = { + updateScript = nix-update-script { }; + tests = testers.testVersion { package = icloudpd; }; + }; + + preBuild = '' + substituteInPlace pyproject.toml \ + --replace "setuptools==69.0.2" "setuptools" \ + --replace "wheel==0.42.0" "wheel" + ''; + + meta = with lib; { + homepage = "https://github.com/icloud-photos-downloader/icloud_photos_downloader"; + description = "iCloud Photos Downloader"; + license = licenses.mit; + mainProgram = "icloudpd"; + maintainers = with maintainers; [ anpin Enzime ]; + }; +} |