summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhislain Vaillant <ghislain.vaillant@inria.fr>2025-10-31 14:12:40 +0100
committerGhislain Vaillant <ghislain.vaillant@inria.fr>2025-11-05 12:32:56 +0100
commit173703514db95c0b72fcf39654c8978954d433bb (patch)
tree302f0943964b425eee3aec614a377ecf51b6292b
parent76e4877dba21d28c64be8449dbbae4649fa0ea15 (diff)
version-control: Add python-scmrepo.
* guix-science/packages/version-control.scm (python-scmrepo): New variable. * guix-science/packages/version-control.scm: Import python-check, python-crypto ssh and version-control.
-rw-r--r--guix-science/packages/version-control.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/guix-science/packages/version-control.scm b/guix-science/packages/version-control.scm
index 6b5732c..0aac84f 100644
--- a/guix-science/packages/version-control.scm
+++ b/guix-science/packages/version-control.scm
@@ -6,10 +6,14 @@
6 #:use-module (gnu packages databases) 6 #:use-module (gnu packages databases)
7 #:use-module (gnu packages graphviz) 7 #:use-module (gnu packages graphviz)
8 #:use-module (gnu packages python-build) 8 #:use-module (gnu packages python-build)
9 #:use-module (gnu packages python-check)
10 #:use-module (gnu packages python-crypto)
9 #:use-module (gnu packages python-science) 11 #:use-module (gnu packages python-science)
10 #:use-module (gnu packages python-web) 12 #:use-module (gnu packages python-web)
11 #:use-module (gnu packages python-xyz) 13 #:use-module (gnu packages python-xyz)
12 #:use-module (gnu packages serialization) 14 #:use-module (gnu packages serialization)
15 #:use-module (gnu packages ssh)
16 #:use-module (gnu packages version-control)
13 #:use-module (guix build-system pyproject) 17 #:use-module (guix build-system pyproject)
14 #:use-module (guix git-download) 18 #:use-module (guix git-download)
15 #:use-module (guix packages) 19 #:use-module (guix packages)
@@ -136,3 +140,59 @@ science and machine learning teams manage large datasets.")
136 (native-inputs (modify-inputs (package-native-inputs dvc) 140 (native-inputs (modify-inputs (package-native-inputs dvc)
137 (delete "python-dvc-s3") 141 (delete "python-dvc-s3")
138 (delete "python-dvc-ssh"))))) 142 (delete "python-dvc-ssh")))))
143
144(define-public python-scmrepo
145 (package
146 (name "python-scmrepo")
147 (version "3.5.2")
148 (source
149 (origin
150 (method git-fetch)
151 (uri (git-reference
152 (url "https://github.com/iterative/scmrepo")
153 (commit version)))
154 (file-name (git-file-name name version))
155 (sha256
156 (base32 "1s1jsyx472krfaw3k5pl6khjq4fcdghnqql03ia04lz3r9na96vm"))))
157 (build-system pyproject-build-system)
158 (arguments
159 (list
160 #:test-flags
161 #~(list
162 ;; Requires network access.
163 "--ignore=tests/test_git.py"
164 "--deselect=tests/test_dulwich.py::test_unsupported_config_ssh_vendor"
165 "--deselect=tests/test_scmrepo.py::test_clone"
166 "--deselect=tests/test_scmrepo.py::test_clone_shallow"
167 ;; Ignore buggy tests.
168 "--deselect=tests/test_stash.py::test_git_stash_workspace")
169 #:phases
170 #~(modify-phases %standard-phases
171 (add-before 'build 'set-version
172 (lambda _
173 (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
174 #$version))))))
175 (propagated-inputs (list python-aiohttp-retry
176 python-asyncssh
177 python-dulwich-0.24
178 python-fsspec
179 python-funcy-1.14
180 python-gitpython
181 python-pathspec
182 python-pygit2-1.18
183 python-pygtrie
184 python-tqdm))
185 (native-inputs (list python-aioresponses
186 python-paramiko
187 python-pytest
188 python-pytest-asyncio
189 python-pytest-cov
190 python-pytest-mock
191 python-pytest-sugar
192 python-pytest-test-utils
193 python-setuptools
194 python-setuptools-scm))
195 (home-page "https://dvc.org/")
196 (synopsis "SCM wrapper and fsspec filesystem for Git for use in DVC")
197 (description "SCM wrapper and fsspec filesystem for Git for use in DVC.")
198 (license license:asl2.0)))