nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
2022-03-28 08:17:05 +02:00

55 lines
1.1 KiB
Nix

{ lib
, fetchFromGitHub
, python3Packages
, ffmpeg
}:
python3Packages.buildPythonApplication rec {
pname = "gphotos-sync";
version = "2.14.2";
src = fetchFromGitHub {
owner = "gilesknap";
repo = "gphotos-sync";
rev = version;
sha256 = "0cfmbrdy6w18hb623rjn0a4hnn3n63jw2jlmgn4a2k1sjqhpx3bf";
};
propagatedBuildInputs = with python3Packages; [
appdirs
attrs
exif
psutil
pyyaml
requests-oauthlib
];
buildInputs = [
ffmpeg
];
checkInputs = with python3Packages; [
pytestCheckHook
mock
];
checkPhase = ''
export HOME=$(mktemp -d)
# patch to skip all tests that do network access
cat >>test/test_setup.py <<EOF
import pytest, requests
requests.Session.__init__ = lambda *args, **kwargs: pytest.skip("no network access")
EOF
pytestCheckPhase
'';
meta = with lib; {
description = "Google Photos and Albums backup with Google Photos Library API";
homepage = "https://github.com/gilesknap/gphotos-sync";
license = licenses.mit;
maintainers = with maintainers; [ dnr ];
};
}