commit: c78d9a12aa9455919f370cb05577f64ae311a8b9 Author: Horea Christian <chr <AT> chymera <DOT> eu> AuthorDate: Thu Jan 12 22:07:38 2023 +0000 Commit: Horea Christian <horea.christ <AT> gmail <DOT> com> CommitDate: Thu Jan 12 22:07:57 2023 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=c78d9a12
dev-vcs/dandi-cli: reinstating package This reverts commit 219660227b38d88417176ef1a191f65689bbda8c. Signed-off-by: Horea Christian <chr <AT> chymera.eu> dev-vcs/dandi-cli/dandi-cli-0.38.0.ebuild | 87 +++++++++++++++++++++ dev-vcs/dandi-cli/dandi-cli-0.39.4.ebuild | 88 ++++++++++++++++++++++ dev-vcs/dandi-cli/dandi-cli-0.45.1.ebuild | 80 ++++++++++++++++++++ dev-vcs/dandi-cli/dandi-cli-0.46.6.ebuild | 79 +++++++++++++++++++ .../files/dandi-cli-0.28.0-no-etelemetry.patch | 30 ++++++++ .../dandi-cli/files/dandi-cli-0.37.0-pep517.patch | 46 +++++++++++ .../files/dandi-cli-0.37.0-pip-versioncheck.patch | 13 ++++ dev-vcs/dandi-cli/metadata.xml | 26 +++++++ 8 files changed, 449 insertions(+) diff --git a/dev-vcs/dandi-cli/dandi-cli-0.38.0.ebuild b/dev-vcs/dandi-cli/dandi-cli-0.38.0.ebuild new file mode 100644 index 000000000..1842cbb5e --- /dev/null +++ b/dev-vcs/dandi-cli/dandi-cli-0.38.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +DESCRIPTION="DANDI command line client to facilitate common operations" +HOMEPAGE="https://github.com/dandi/dandi-cli" +SRC_URI="https://github.com/dandi/dandi-cli/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test etelemetry" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-didyoumean[${PYTHON_USEDEP}] + ~dev-python/dandi-schema-0.6.0[${PYTHON_USEDEP}] + dev-python/fasteners[${PYTHON_USEDEP}] + dev-python/fscacher[${PYTHON_USEDEP}] + dev-python/humanize[${PYTHON_USEDEP}] + dev-python/interleave[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-python/keyring[${PYTHON_USEDEP}] + dev-python/keyrings-alt[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/pynwb[${PYTHON_USEDEP}] + dev-python/pyout[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + dev-python/semantic_version[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + dev-python/zarr[${PYTHON_USEDEP}] +" + +DEPEND=" + test? ( + dev-python/anys[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + media-libs/opencv[ffmpeg,${PYTHON_USEDEP}] + ) +" +# Upstream might be amenable to dropping opencv: +# https://github.com/dandi/dandi-cli/issues/944 + +# Some tests require deep copy with git history +# https://github.com/dandi/dandi-cli/issues/878#issuecomment-1021720299 +EPYTEST_DESELECT=( + "dandi/tests/test_utils.py::test_get_instance_dandi_with_api" + "dandi/tests/test_utils.py::test_get_instance_url" + "dandi/tests/test_utils.py::test_get_instance_cli_version_too_old" + "dandi/tests/test_utils.py::test_get_instance_bad_cli_version" +) + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}/${PN}-0.37.0-pip-versioncheck.patch" + "${FILESDIR}/${PN}-0.37.0-pep517.patch" +) + +src_prepare() { + if use etelemetry; then + default + else + eapply "${FILESDIR}/${PN}-0.28.0-no-etelemetry.patch" + default + sed -i "/etelemetry/d" setup.cfg + fi +} + +python_test() { + export DANDI_TESTS_NONETWORK=1 + epytest +} diff --git a/dev-vcs/dandi-cli/dandi-cli-0.39.4.ebuild b/dev-vcs/dandi-cli/dandi-cli-0.39.4.ebuild new file mode 100644 index 000000000..a83a0b219 --- /dev/null +++ b/dev-vcs/dandi-cli/dandi-cli-0.39.4.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +DESCRIPTION="DANDI command line client to facilitate common operations" +HOMEPAGE="https://github.com/dandi/dandi-cli" +SRC_URI="https://github.com/dandi/dandi-cli/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test etelemetry" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-didyoumean[${PYTHON_USEDEP}] + ~dev-python/dandi-schema-0.6.0[${PYTHON_USEDEP}] + dev-python/fasteners[${PYTHON_USEDEP}] + dev-python/fscacher[${PYTHON_USEDEP}] + dev-python/humanize[${PYTHON_USEDEP}] + dev-python/interleave[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-python/keyring[${PYTHON_USEDEP}] + dev-python/keyrings-alt[${PYTHON_USEDEP}] + dev-python/nwbinspector[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/pynwb[${PYTHON_USEDEP}] + dev-python/pyout[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + dev-python/semantic_version[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + dev-python/zarr[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/anys[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + media-libs/opencv[ffmpeg,${PYTHON_USEDEP}] + ) +" +# Upstream might be amenable to dropping opencv: +# https://github.com/dandi/dandi-cli/issues/944 + +# Some tests require deep copy with git history +# https://github.com/dandi/dandi-cli/issues/878#issuecomment-1021720299 +EPYTEST_DESELECT=( + "dandi/tests/test_utils.py::test_get_instance_dandi_with_api" + "dandi/tests/test_utils.py::test_get_instance_url" + "dandi/tests/test_utils.py::test_get_instance_cli_version_too_old" + "dandi/tests/test_utils.py::test_get_instance_bad_cli_version" +) + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}/${PN}-0.37.0-pip-versioncheck.patch" + "${FILESDIR}/${PN}-0.37.0-pep517.patch" +) + +src_prepare() { + if use etelemetry; then + default + else + eapply "${FILESDIR}/${PN}-0.28.0-no-etelemetry.patch" + default + sed -i "/etelemetry/d" setup.cfg + fi +} + +python_test() { + export DANDI_TESTS_NONETWORK=1 + epytest +} diff --git a/dev-vcs/dandi-cli/dandi-cli-0.45.1.ebuild b/dev-vcs/dandi-cli/dandi-cli-0.45.1.ebuild new file mode 100644 index 000000000..0453e2f00 --- /dev/null +++ b/dev-vcs/dandi-cli/dandi-cli-0.45.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +MY_PN="dandi" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="DANDI command line client to facilitate common operations" +HOMEPAGE="https://github.com/dandi/dandi-cli" +#SRC_URI="https://github.com/dandi/dandi-cli/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test etelemetry" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-didyoumean[${PYTHON_USEDEP}] + =dev-python/dandi-schema-0.7*[${PYTHON_USEDEP}] + dev-python/fasteners[${PYTHON_USEDEP}] + dev-python/fscacher[${PYTHON_USEDEP}] + dev-python/humanize[${PYTHON_USEDEP}] + dev-python/interleave[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-python/keyring[${PYTHON_USEDEP}] + dev-python/keyrings-alt[${PYTHON_USEDEP}] + dev-python/nwbinspector[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/pynwb[${PYTHON_USEDEP}] + dev-python/pyout[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + dev-python/semantic_version[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + dev-python/zarr[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/anys[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + media-libs/opencv[ffmpeg,${PYTHON_USEDEP}] + ) +" +# Upstream might be amenable to dropping opencv: +# https://github.com/dandi/dandi-cli/issues/944 + +S="${WORKDIR}/${MY_P}" + +distutils_enable_tests pytest + +src_prepare() { + if use etelemetry; then + default + else + eapply "${FILESDIR}/${PN}-0.28.0-no-etelemetry.patch" + default + sed -i "/etelemetry/d" setup.cfg + fi +} + +python_test() { + export DANDI_TESTS_NONETWORK=1 + epytest +} diff --git a/dev-vcs/dandi-cli/dandi-cli-0.46.6.ebuild b/dev-vcs/dandi-cli/dandi-cli-0.46.6.ebuild new file mode 100644 index 000000000..581257bdb --- /dev/null +++ b/dev-vcs/dandi-cli/dandi-cli-0.46.6.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +MY_PN="dandi" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="DANDI command line client to facilitate common operations" +HOMEPAGE="https://github.com/dandi/dandi-cli" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test etelemetry" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/click-didyoumean[${PYTHON_USEDEP}] + =dev-python/dandi-schema-0.7*[${PYTHON_USEDEP}] + dev-python/fasteners[${PYTHON_USEDEP}] + dev-python/fscacher[${PYTHON_USEDEP}] + dev-python/humanize[${PYTHON_USEDEP}] + dev-python/interleave[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-python/keyring[${PYTHON_USEDEP}] + dev-python/keyrings-alt[${PYTHON_USEDEP}] + dev-python/nwbinspector[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}] + dev-python/pynwb[${PYTHON_USEDEP}] + dev-python/pyout[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + dev-python/semantic_version[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + dev-python/zarr[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/anys[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + media-libs/opencv[ffmpeg,${PYTHON_USEDEP}] + ) +" +# Upstream might be amenable to dropping opencv: +# https://github.com/dandi/dandi-cli/issues/944 + +S="${WORKDIR}/${MY_P}" + +distutils_enable_tests pytest + +src_prepare() { + if use etelemetry; then + default + else + eapply "${FILESDIR}/${PN}-0.28.0-no-etelemetry.patch" + default + sed -i "/etelemetry/d" setup.cfg + fi +} + +python_test() { + export DANDI_TESTS_NONETWORK=1 + epytest +} diff --git a/dev-vcs/dandi-cli/files/dandi-cli-0.28.0-no-etelemetry.patch b/dev-vcs/dandi-cli/files/dandi-cli-0.28.0-no-etelemetry.patch new file mode 100644 index 000000000..6822e1abf --- /dev/null +++ b/dev-vcs/dandi-cli/files/dandi-cli-0.28.0-no-etelemetry.patch @@ -0,0 +1,30 @@ +--- a/dandi/utils.py 2021-09-21 11:51:39.799524534 -0400 ++++ b/dandi/utils.py 2021-10-06 04:58:00.506440719 -0400 +@@ -734,27 +734,4 @@ + def check_dandi_version(): + if os.environ.get("DANDI_NO_ET"): + return +- try: +- import etelemetry +- +- try: +- etelemetry.check_available_version( +- "dandi/dandi-cli", __version__, lgr=lgr, raise_exception=True +- ) +- except etelemetry.client.BadVersionError: +- # note: SystemExit is based of BaseException, so is not Exception +- raise SystemExit( +- "DANDI CLI has detected that you are using a version that is known to " +- "contain bugs, is incompatible with our current data archive, or has " +- "other significant performance limitations. " +- "To continue using DANDI CLI, please upgrade your dandi client to a newer " +- "version (e.g., using pip install --upgrade dandi if you installed using pip). " +- "If you have any issues, please contact the DANDI " +- "helpdesk at https://github.com/dandi/helpdesk/issues/new/choose ." +- ) +- except Exception as exc: +- lgr.warning( +- "Failed to check for a more recent version available with etelemetry: %s", +- exc, +- ) + os.environ["DANDI_NO_ET"] = "1" diff --git a/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pep517.patch b/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pep517.patch new file mode 100644 index 000000000..4d4715f95 --- /dev/null +++ b/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pep517.patch @@ -0,0 +1,46 @@ +From a363b68b79b3dd2004912640c90958882a918537 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgo...@gentoo.org> +Date: Wed, 4 May 2022 19:49:37 +0200 +Subject: [PATCH] Prepend to sys.path to fix versioneer in PEP517 mode + +Prepend the current directory to sys.path rather than appending it +in order to fix the build in PEP517 mode properly. If the path +is appended and versioneer is installed on the system, the system +versioneer.py (i.e. the module used to install versioneer into projects) +is imported rather than the local file, and the build fails: + +``` +Traceback (most recent call last): + File "/usr/lib/python-exec/python3.10/gpep517", line 4, in <module> + sys.exit(main()) + File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 136, in main + return func(args) + File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 44, in build_wheel + wheel_name = backend.build_wheel(args.wheel_dir, args.config_json) + File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 244, in build_wheel + return self._build_with_temp_dir(['bdist_wheel'], '.whl', + File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir + self.run_setup() + File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 174, in run_setup + exec(compile(code, __file__, 'exec'), locals()) + File "setup.py", line 32, in <module> + "version": versioneer.get_version(), +AttributeError: module 'versioneer' has no attribute 'get_version' +``` +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index e8dddc985..05765009c 100755 +--- a/setup.py ++++ b/setup.py +@@ -23,7 +23,7 @@ + # This is needed for versioneer to be importable when building with PEP 517. + # See <https://github.com/warner/python-versioneer/issues/193> and links + # therein for more information. +-sys.path.append(os.path.dirname(__file__)) ++sys.path.insert(0, os.path.dirname(__file__)) + + try: + import versioneer diff --git a/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pip-versioncheck.patch b/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pip-versioncheck.patch new file mode 100644 index 000000000..bcc3853d3 --- /dev/null +++ b/dev-vcs/dandi-cli/files/dandi-cli-0.37.0-pip-versioncheck.patch @@ -0,0 +1,13 @@ +--- a/setup.cfg 2021-10-06 11:44:40.549337707 -0400 ++++ b/dsetup.cfg 2021-10-06 11:45:10.236935245 -0400 +@@ -30,8 +30,8 @@ + appdirs + click + click-didyoumean +- dandischema ~= 0.6.0 +- etelemetry >= 0.2.2 ++ dandischema ++ etelemetry + fasteners + fscacher + # Specifying != might be what causes pip 19.3.1 first to install hdmf 1.5.1 diff --git a/dev-vcs/dandi-cli/metadata.xml b/dev-vcs/dandi-cli/metadata.xml new file mode 100644 index 000000000..9565a2184 --- /dev/null +++ b/dev-vcs/dandi-cli/metadata.xml @@ -0,0 +1,26 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>gen...@chymera.eu</email> + <name>Horea Christian</name> + </maintainer> + <maintainer type="project"> + <email>s...@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> + This package provides a dandi command line utility with a basic interface + which should assist you in preparing and uploading your data to and/or + obtaining data from the http://dandiarchive.org . Each of the commands + has a set of options to alter their behavior. Please run + `dandi COMMAND --help` to get more information + </longdescription> + <use> + <flag name="etelemetry">version checking to respect server schema version</flag> + </use> + <upstream> + <remote-id type="github">dandi/dandi-cli</remote-id> + <remote-id type="pypi">dandi</remote-id> + </upstream> +</pkgmetadata>