1{ lib
2, bcrypt
3, buildPythonPackage
4, dvc-objects
5, fetchPypi
6, pythonRelaxDepsHook
7, setuptools-scm
8, sshfs
9}:
10
11buildPythonPackage rec {
12 pname = "dvc-ssh";
13 version = "2.22.2";
14 format = "setuptools";
15
16 src = fetchPypi {
17 inherit pname version;
18 hash = "sha256-eJwNCZvdBqYKEbX4On3pGm2bzCvH9G7rdsgeN7XPJB0=";
19 };
20
21 # Prevent circular dependency
22 pythonRemoveDeps = [ "dvc" ];
23
24 nativeBuildInputs = [ setuptools-scm pythonRelaxDepsHook ];
25
26 propagatedBuildInputs = [ bcrypt dvc-objects sshfs ];
27
28 # bcrypt is enabled for sshfs in nixpkgs
29 postPatch = ''
30 substituteInPlace setup.cfg --replace "sshfs[bcrypt]" "sshfs"
31 '';
32
33 # Network access is needed for tests
34 doCheck = false;
35
36 pythonImportsCheck = [ "dvc_ssh" ];
37
38 meta = with lib; {
39 description = "ssh plugin for dvc";
40 homepage = "https://pypi.org/project/dvc-ssh/${version}";
41 changelog = "https://github.com/iterative/dvc-ssh/releases/tag/${version}";
42 license = licenses.asl20;
43 maintainers = with maintainers; [ melling ];
44 };
45}