diff options
author | Roger Qiu <roger.qiu@polyhack.io> | 2019-01-24 15:44:34 +1100 |
---|---|---|
committer | Roger Qiu <roger@formbay.com.au> | 2019-10-28 13:07:58 +1100 |
commit | 3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda (patch) | |
tree | c26a8524b479d856a69b9c6d369f2cecd62e0813 | |
parent | bae9fd59a945357f7712a63c0a09b72d4ed44e6e (diff) | |
download | nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar.gz nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar.bz2 nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar.lz nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar.xz nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.tar.zst nixpkgs-3c3ac19c43ef1b8b7459f9da1d0d5bd8fcc42fda.zip |
dvc: init at 0.24.3
-rw-r--r-- | pkgs/applications/version-management/dvc/default.nix | 65 | ||||
-rw-r--r-- | pkgs/applications/version-management/dvc/dvc-daemon.patch | 21 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 9 |
3 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/applications/version-management/dvc/default.nix new file mode 100644 index 00000000000..fe10551771c --- /dev/null +++ b/pkgs/applications/version-management/dvc/default.nix @@ -0,0 +1,65 @@ +{ lib +, python3Packages +, fetchFromGitHub +, enableGoogle ? false +, enableAWS ? false +, enableAzure ? false +, enableSSH ? false +}: + +with python3Packages; +buildPythonApplication rec { + pname = "dvc"; + version = "0.24.3"; + + # PyPi only has wheel + src = fetchFromGitHub { + owner = "iterative"; + repo = "dvc"; + rev = version; + sha256 = "1wqq4i23hppilp20fx5a5nj93xwf3wwwr2f8aasvn6jkv2l22vpl"; + }; + + propagatedBuildInputs = [ + ply + configparser + zc_lockfile + future + colorama + configobj + networkx + pyyaml + GitPython + setuptools + nanotime + pyasn1 + schema + jsonpath_rw + requests + grandalf + asciimatics + distro + appdirs + ] + ++ lib.optional enableGoogle google_cloud_storage + ++ lib.optional enableAWS boto3 + ++ lib.optional enableAzure azure-storage-blob + ++ lib.optional enableSSH paramiko; + + # tests require access to real cloud services + # nix build tests have to be isolated and run locally + doCheck = false; + + patches = [ ./dvc-daemon.patch ]; + + postPatch = '' + substituteInPlace dvc/daemon.py --subst-var-by dvc "$out/bin/dcv" + ''; + + meta = with lib; { + description = "Version Control System for Machine Learning Projects"; + license = licenses.asl20; + homepage = https://dvc.org; + maintainers = with maintainers; [ cmcdragonkai ]; + }; +} diff --git a/pkgs/applications/version-management/dvc/dvc-daemon.patch b/pkgs/applications/version-management/dvc/dvc-daemon.patch new file mode 100644 index 00000000000..5c2d363b17f --- /dev/null +++ b/pkgs/applications/version-management/dvc/dvc-daemon.patch @@ -0,0 +1,21 @@ +diff --git a/dvc/daemon.py b/dvc/daemon.py +index 1d67a37..7ce6fde 100644 +--- a/dvc/daemon.py ++++ b/dvc/daemon.py +@@ -67,14 +67,8 @@ def daemon(args): + Args: + args (list): list of arguments to append to `dvc daemon` command. + """ +- cmd = [sys.executable] +- if not is_binary(): +- cmd += ['-m', 'dvc'] +- cmd += ['daemon', '-q'] + args +- +- env = fix_env() +- file_path = os.path.abspath(inspect.stack()[0][1]) +- env['PYTHONPATH'] = os.path.dirname(os.path.dirname(file_path)) ++ cmd = [ "@dvc@" , "daemon", "-q"] + args ++ env = None + + logger.debug("Trying to spawn '{}' with env '{}'".format(cmd, env)) + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7ff80a526e4..85eac3acca8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1345,6 +1345,15 @@ in duperemove = callPackage ../tools/filesystems/duperemove { }; + dvc = callPackage ../applications/version-management/dvc { }; + + dvc-with-remotes = callPackage ../applications/version-management/dvc { + enableGoogle = true; + enableAWS = true; + enableAzure = true; + enableSSH = true; + }; + dylibbundler = callPackage ../tools/misc/dylibbundler { }; dynamic-colors = callPackage ../tools/misc/dynamic-colors { }; |