commit:     f18c6493e672e9af6ec906f773b8542cee97c34d
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Mon Jul 11 18:31:20 2022 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Mon Jul 11 18:31:20 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=f18c6493

dev-vcs/datalad: version bump

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 dev-vcs/datalad/datalad-0.16.1.ebuild            | 72 ++++++++++++++++++
 dev-vcs/datalad/files/datalad-0.16.1-input.patch | 94 ++++++++++++++++++++++++
 2 files changed, 166 insertions(+)

diff --git a/dev-vcs/datalad/datalad-0.16.1.ebuild 
b/dev-vcs/datalad/datalad-0.16.1.ebuild
new file mode 100644
index 000000000..50e29f19d
--- /dev/null
+++ b/dev-vcs/datalad/datalad-0.16.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Keep code, data, containers under control with git and git-annex"
+HOMEPAGE="https://github.com/datalad/datalad";
+SRC_URI="https://github.com/datalad/datalad/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test +downloaders +metadata +publish misc"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       app-arch/p7zip
+       dev-python/annexremote[${PYTHON_USEDEP}]
+       dev-python/appdirs[${PYTHON_USEDEP}]
+       >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+       dev-python/distro[${PYTHON_USEDEP}]
+       dev-python/iso8601[${PYTHON_USEDEP}]
+       dev-python/humanize[${PYTHON_USEDEP}]
+       dev-python/fasteners[${PYTHON_USEDEP}]
+       app-arch/patool[${PYTHON_USEDEP}]
+       dev-python/tqdm[${PYTHON_USEDEP}]
+       dev-python/wrapt[${PYTHON_USEDEP}]
+       downloaders? (
+               dev-python/boto[${PYTHON_USEDEP}]
+               dev-python/keyring[${PYTHON_USEDEP}]
+               dev-python/keyrings_alt[${PYTHON_USEDEP}]
+               dev-python/msgpack[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+       )
+       metadata? (
+               dev-python/simplejson[${PYTHON_USEDEP}]
+               dev-python/whoosh[${PYTHON_USEDEP}]
+       )
+       misc? (
+               dev-python/argcomplete[${PYTHON_USEDEP}]
+               dev-python/pyperclip[${PYTHON_USEDEP}]
+               dev-python/python-dateutil[${PYTHON_USEDEP}]
+       )
+       publish? (
+               dev-vcs/python-gitlab[${PYTHON_USEDEP}]
+               dev-python/PyGithub[${PYTHON_USEDEP}]
+       )
+"
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       test? (
+               dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+               dev-python/httpretty[${PYTHON_USEDEP}]
+               dev-python/vcrpy[${PYTHON_USEDEP}]
+       )
+"
+
+# Noticed by upstream:
+# https://github.com/datalad/datalad/issues/6623
+PATCHES=( "${FILESDIR}/${P}-input.patch" )
+
+distutils_enable_tests nose
+
+python_test() {
+       export DATALAD_TESTS_NONETWORK=1
+       ${EPYTHON} -m nose -s -v -A "not(integration or usecase or slow or 
network or turtle)" datalad || die
+       # Full test suite takes for ever:
+       # ${EPYTHON} -m nose -s -v datalad || die
+}

diff --git a/dev-vcs/datalad/files/datalad-0.16.1-input.patch 
b/dev-vcs/datalad/files/datalad-0.16.1-input.patch
new file mode 100644
index 000000000..beb539b5d
--- /dev/null
+++ b/dev-vcs/datalad/files/datalad-0.16.1-input.patch
@@ -0,0 +1,94 @@
+diff --git a/datalad/local/tests/test_gitcredential.py 
b/datalad/local/tests/test_gitcredential.py
+index 09387a70d..6dc0e0be4 100644
+--- a/datalad/local/tests/test_gitcredential.py
++++ b/datalad/local/tests/test_gitcredential.py
+@@ -70,89 +70,6 @@ def test_gitcredential_interface(path):
+     assert_false(cred['password'])
+ 
+ 
+-@with_tempfile
+-def test_datalad_credential_helper(path):
+-
+-    ds = Dataset(path).create()
+-
+-    # tell git to use git-credential-datalad
+-    ds.config.add('credential.helper', 'datalad', where='local')
+-    ds.config.add('datalad.credentials.githelper.noninteractive', 'true',
+-                  where='global')
+-
+-    from datalad.downloaders.providers import Providers
+-
+-    url1 = "https://datalad-test.org/some";
+-    url2 = "https://datalad-test.org/other";
+-    provider_name = "datalad-test.org"
+-
+-    # `Providers` code is old and only considers a dataset root based on PWD
+-    # for config lookup. contextmanager below can be removed once the
+-    # provider/credential system is redesigned.
+-    with chpwd(ds.path):
+-
+-        gitcred = GitCredentialInterface(url=url1, repo=ds)
+-
+-        # There's nothing set up yet, helper should return empty
+-        gitcred.fill()
+-        eq_(gitcred['username'], '')
+-        eq_(gitcred['password'], '')
+-
+-        # store new credentials
+-        # Note, that `Providers.enter_new()` currently uses user-level config
+-        # files for storage only. TODO: make that an option!
+-        # To not mess with existing ones, fail if it already exists:
+-
+-        cfg_file = Path(Providers._get_providers_dirs()['user']) \
+-                   / f"{provider_name}.cfg"
+-        assert_false(cfg_file.exists())
+-
+-        # Make sure we clean up
+-        from datalad.tests import _TEMP_PATHS_GENERATED
+-        _TEMP_PATHS_GENERATED.append(str(cfg_file))
+-
+-        # Give credentials to git and ask it to store them:
+-        gitcred = GitCredentialInterface(url=url1, username="dl-user",
+-                                         password="dl-pwd", repo=ds)
+-        gitcred.approve()
+-
+-        assert_true(cfg_file.exists())
+-        providers = Providers.from_config_files()
+-        p1 = providers.get_provider(url=url1, only_nondefault=True)
+-        assert_is_instance(p1.credential, UserPassword)
+-        eq_(p1.credential.get('user'), 'dl-user')
+-        eq_(p1.credential.get('password'), 'dl-pwd')
+-
+-        # default regex should be host only, so matching url2, too
+-        p2 = providers.get_provider(url=url2, only_nondefault=True)
+-        assert_is_instance(p1.credential, UserPassword)
+-        eq_(p1.credential.get('user'), 'dl-user')
+-        eq_(p1.credential.get('password'), 'dl-pwd')
+-
+-        # git, too, should now find it for both URLs
+-        gitcred = GitCredentialInterface(url=url1, repo=ds)
+-        gitcred.fill()
+-        eq_(gitcred['username'], 'dl-user')
+-        eq_(gitcred['password'], 'dl-pwd')
+-
+-        gitcred = GitCredentialInterface(url=url2, repo=ds)
+-        gitcred.fill()
+-        eq_(gitcred['username'], 'dl-user')
+-        eq_(gitcred['password'], 'dl-pwd')
+-
+-        # Rejection must not currently lead to deleting anything, since we 
would
+-        # delete too broadly.
+-        gitcred.reject()
+-        assert_true(cfg_file.exists())
+-        gitcred = GitCredentialInterface(url=url1, repo=ds)
+-        gitcred.fill()
+-        eq_(gitcred['username'], 'dl-user')
+-        eq_(gitcred['password'], 'dl-pwd')
+-        dlcred = UserPassword(name=provider_name)
+-        eq_(dlcred.get('user'), 'dl-user')
+-        eq_(dlcred.get('password'), 'dl-pwd')
+-
+-
+ @with_tempfile
+ def test_credential_cycle(path):
+ 

Reply via email to