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