%global pypi_name datalad-next Name: python-%{pypi_name} Version: 1.6.0 Release: 1%{?dist} Summary: DataLad's staging area for new core functionality License: MIT URL: https://github.com/datalad/datalad-next Source0: %{pypi_source datalad_next} BuildArch: noarch BuildRequires: python3-devel # DataLad imports and its extension entry points need git and git-annex at import time BuildRequires: git-core BuildRequires: git-annex %global _description %{expand: datalad-next is where new DataLad core functionality is developed before it moves into DataLad itself: improved credential handling, the uncurl and archivist special remotes, datalad-annex:: git remotes, and many patches to core commands. Most other extensions require it. It is a DataLad extension: installing it adds commands and functionality to the datalad command and Python API.} %description %{_description} %package -n python3-%{pypi_name} Summary: %{summary} %description -n python3-%{pypi_name} %{_description} %prep %autosetup -p1 -n datalad_next-%{version} %generate_buildrequires export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} %pyproject_buildrequires %build export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} %pyproject_wheel %install %pyproject_install # Build helpers some DataLad-template projects install at top level; not part of the package. rm -rf %{buildroot}%{python3_sitelib}/_datalad_buildsupport %{buildroot}%{python3_sitelib}/tools %{buildroot}%{python3_sitelib}/benchmarks %{buildroot}%{python3_sitelib}/tests %{buildroot}%{python3_sitelib}/tests.py # Old setup.py data_files can drop these at the top of site-packages (osfclient does). rm -f %{buildroot}%{python3_sitelib}/{LICENSE,VERSION,requirements.txt} %pyproject_save_files -L datalad_next %check export HOME=$PWD git config --global user.name mockbuild && git config --global user.email mockbuild@localhost %pyproject_check_import -e 'datalad_next.tests*' -e 'datalad_next.*.tests*' -e '*.test_*' -e '*.conftest' -e '*.pytest_plugin' -e '*.resources.procedures.*' # The extension registers with DataLad: its command suite loads through datalad's API. %{py3_test_envvars} %{python3} - <<'EOF' from importlib.metadata import entry_points eps = [e for e in entry_points(group='datalad.extensions') if e.value.startswith('datalad_next')] assert eps, 'no datalad.extensions entry point for datalad_next' for e in eps: suite = e.load() print(e.name, '->', suite[0] if isinstance(suite, tuple) else suite) EOF %files -n python3-%{pypi_name} -f %{pyproject_files} %license LICENSE %{_bindir}/git-annex-backend-XDLRA %{_bindir}/git-annex-remote-archivist %{_bindir}/git-annex-remote-uncurl %{_bindir}/git-remote-datalad-annex %changelog * Mon Oct 12 2026 Morgan Hough - 1.6.0-1 - Initial package, for the DataLad extension stack and dandi.