summary refs log tree commit diff
diff options
context:
space:
mode:
authorTheodore Ni <3806110+tjni@users.noreply.github.com>2023-08-03 11:52:37 -0700
committerTheodore Ni <3806110+tjni@users.noreply.github.com>2023-08-03 18:37:57 -0700
commita230b18ebed7da4370670b60ac64e4369be15abe (patch)
treea1ebf05e5e826580465f1d55afaf74ce0c322568
parentd85f641287e4f632e9ee3708f0af6d8a41380e36 (diff)
downloadnixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar.gz
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar.bz2
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar.lz
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar.xz
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.tar.zst
nixpkgs-a230b18ebed7da4370670b60ac64e4369be15abe.zip
dvc: move to python-modules since dvclive depends on it
This follows the best practices in the documentation.
-rw-r--r--pkgs/development/python-modules/dvc/default.nix (renamed from pkgs/applications/version-management/dvc/default.nix)75
-rw-r--r--pkgs/development/python-modules/dvc/dvc-daemon.patch (renamed from pkgs/applications/version-management/dvc/dvc-daemon.patch)0
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix2
4 files changed, 66 insertions, 15 deletions
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index 1cfa62ea6d4..c80c6670936 100644
--- a/pkgs/applications/version-management/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -1,14 +1,59 @@
 { lib
-, python3
+, buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
+, pythonOlder
+, pythonRelaxDepsHook
+, setuptools-scm
+, appdirs
+, colorama
+, configobj
+, distro
+, dpath
+, dvc-azure
+, dvc-data
+, dvc-gs
+, dvc-http
+, dvc-render
+, dvc-s3
+, dvc-ssh
+, dvc-studio-client
+, dvc-task
+, flatten-dict
+, flufl_lock
+, funcy
+, grandalf
+, hydra-core
+, importlib-metadata
+, importlib-resources
+, iterative-telemetry
+, networkx
+, packaging
+, pathspec
+, platformdirs
+, psutil
+, pydot
+, pygtrie
+, pyparsing
+, requests
+, rich
+, ruamel-yaml
+, scmrepo
+, shortuuid
+, shtab
+, tabulate
+, tomlkit
+, tqdm
+, typing-extensions
+, voluptuous
+, zc_lockfile
 , enableGoogle ? false
 , enableAWS ? false
 , enableAzure ? false
 , enableSSH ? false
 }:
 
-python3.pkgs.buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "dvc";
   version = "3.8.1";
   format = "pyproject";
@@ -31,12 +76,12 @@ python3.pkgs.buildPythonApplication rec {
       --subst-var-by dvc "$out/bin/dcv"
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = [
     pythonRelaxDepsHook
     setuptools-scm
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     appdirs
     colorama
     configobj
@@ -73,20 +118,24 @@ python3.pkgs.buildPythonApplication rec {
     typing-extensions
     voluptuous
     zc_lockfile
-  ] ++ lib.optionals enableGoogle [
-    dvc-gs
-  ] ++ lib.optionals enableAWS [
-    dvc-s3
-  ] ++ lib.optionals enableAzure [
-    dvc-azure
-  ] ++ lib.optionals enableSSH [
-    dvc-ssh
-  ] ++ lib.optionals (pythonOlder "3.8") [
+  ]
+  ++ lib.optionals enableGoogle passthru.optional-dependencies.gs
+  ++ lib.optionals enableAWS passthru.optional-dependencies.s3
+  ++ lib.optionals enableAzure passthru.optional-dependencies.azure
+  ++ lib.optionals enableSSH passthru.optional-dependencies.ssh
+  ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ] ++ lib.optionals (pythonOlder "3.9") [
     importlib-resources
   ];
 
+  passthru.optional-dependencies = {
+    azure = [ dvc-azure ];
+    gs = [ dvc-gs ];
+    s3 = [ dvc-s3 ];
+    ssh = [ dvc-ssh ];
+  };
+
   # Tests require access to real cloud services
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/dvc/dvc-daemon.patch b/pkgs/development/python-modules/dvc/dvc-daemon.patch
index 65ba630f3b8..65ba630f3b8 100644
--- a/pkgs/applications/version-management/dvc/dvc-daemon.patch
+++ b/pkgs/development/python-modules/dvc/dvc-daemon.patch
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 603b7a2aefd..776341a1269 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4992,9 +4992,9 @@ with pkgs;
 
   duperemove = callPackage ../tools/filesystems/duperemove { };
 
-  dvc = callPackage ../applications/version-management/dvc { };
+  dvc = with python3.pkgs; toPythonApplication dvc;
 
-  dvc-with-remotes = callPackage ../applications/version-management/dvc {
+  dvc-with-remotes = dvc.override {
     enableGoogle = true;
     enableAWS = true;
     enableAzure = true;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 83b45cde21b..d9a256e2f38 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3183,6 +3183,8 @@ self: super: with self; {
 
   durus = callPackage ../development/python-modules/durus {  };
 
+  dvc = callPackage ../development/python-modules/dvc {  };
+
   dvc-azure = callPackage ../development/python-modules/dvc-azure {  };
 
   dvc-data = callPackage ../development/python-modules/dvc-data {  };