biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / backup / s3ql / default.nix
blob116804ecf4da1165b50f32bf493e3acbe556dff0
2   lib,
3   fetchFromGitHub,
4   python3,
5   sqlite,
6   which,
7   nix-update-script,
8 }:
10 python3.pkgs.buildPythonApplication rec {
11   pname = "s3ql";
12   version = "5.2.2";
13   pyproject = true;
15   src = fetchFromGitHub {
16     owner = "s3ql";
17     repo = "s3ql";
18     rev = "refs/tags/s3ql-${version}";
19     hash = "sha256-D+fUl9UpJ7vxoVzB6MlrgnyAqEYbUkc+0w6iepYuZnk=";
20   };
22   build-system = with python3.pkgs; [ setuptools ];
24   nativeBuildInputs = [ which ] ++ (with python3.pkgs; [ cython ]);
26   propagatedBuildInputs = with python3.pkgs; [
27     apsw
28     cryptography
29     defusedxml
30     dugong
31     google-auth
32     google-auth-oauthlib
33     pyfuse3
34     requests
35     sqlite
36     trio
37   ];
39   nativeCheckInputs = with python3.pkgs; [
40     pytest-trio
41     pytestCheckHook
42   ];
44   preBuild = ''
45     ${python3.pkgs.python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace
46   '';
48   preCheck = ''
49     export HOME=$(mktemp -d)
50   '';
52   pythonImportsCheck = [ "s3ql" ];
54   pytestFlagsArray = [ "tests/" ];
56   passthru.updateScript = nix-update-script {
57     extraArgs = [
58       "--version-regex"
59       "s3ql-([0-9.]+)"
60     ];
61   };
63   meta = with lib; {
64     description = "Full-featured file system for online data storage";
65     homepage = "https://github.com/s3ql/s3ql/";
66     changelog = "https://github.com/s3ql/s3ql/releases/tag/s3ql-${version}";
67     license = licenses.gpl3Only;
68     maintainers = with maintainers; [ rushmorem ];
69     platforms = platforms.linux;
70   };