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