Blob Blame Raw
# Does not support python2 at all
%global srcname fslpy

%global desc \
The fslpy project is a FSL programming library written in Python. It is used by \
FSLeyes.

Name:           python-%{srcname}
Version:        2.6.1
Release:        1%{?dist}
Summary:        The FSL Python Library


License:        ASL 2.0
URL:            https://pypi.python.org/pypi/%{srcname}
Source0:        %pypi_source

BuildArch:      noarch
BuildRequires:  python3-devel

BuildRequires:  %{py3_dist sphinx}
BuildRequires:  %{py3_dist pytest pytest-cov}
BuildRequires:  %{py3_dist coverage}
BuildRequires:  %{py3_dist mock}
BuildRequires:  %{py3_dist numpy}
BuildRequires:  %{py3_dist scipy}
BuildRequires:  %{py3_dist h5py}
BuildRequires:  %{py3_dist nibabel} > 2.2.1
BuildRequires:  %{py3_dist deprecation}
BuildRequires:  %{py3_dist wxpython}
BuildRequires:  %{py3_dist pillow}
BuildRequires:  xorg-x11-server-Xvfb
BuildRequires:  dcm2niix


%description
%{desc}

%{?python_enable_dependency_generator}

%package -n python3-%{srcname}
Summary:        %{summary}

%{?python_provide:%python_provide python3-%{srcname}}

%description -n python3-%{srcname}
%{desc}


%package doc
Summary:        %{summary}
BuildRequires:  %{py3_dist sphinx_rtd_theme}

%description doc
This package contains documentation for %{name}.

%prep
%autosetup -n %{srcname}-%{version}
rm -rfv %{srcname}.egg-info

# For the dep generator to pick up
cat requirements-extra.txt >> requirements.txt

# Temporarily remove extra requirement of trimesh---newer version needed in Fedora.
# trimesh is updated every week from the looks of it:
# https://bugzilla.redhat.com/show_bug.cgi?id=1689761
sed -i '/trimesh/d' requirements.txt


# remove unneeded shebangs
find . -name "*py" -exec sed -i '/#!\/usr\/bin\/env python/ d' '{}' \;

%build
%py3_build

# Build documentation
PYTHONPATH=.  sphinx-build-3 doc html
# Remove build artefacts
rm -frv html/.buildinfo
rm -frv html/.doctrees

%install
%py3_install

# Remove test packages that are installed in site packages
rm -rfv %{buildroot}/%{python3_sitelib}/tests/

%check
# From https://git.fmrib.ox.ac.uk/fsl/fslpy/blob/master/.ci/test_template.sh
xvfb-run pytest-3 tests/test_idle.py
sleep 10
# Sometimes fails, sometimes passes
xvfb-run pytest-3 tests/test_platform.py || exit 0

# Ignore tests that have already been done
# Ignore immv_imcp because it requires a "nobody" user
# Ignore tests that require downloading data.
# Ignore tests requiring trimesh
# Ignore test using dcm2niix
# Ignore test_deprecated and test_nonlineear: https://github.com/pauldmccarthy/fslpy/issues/5
pytest-3 tests  -m "not longtest" \
--ignore=tests/test_idle.py --ignore=tests/test_platform.py --ignore=tests/test_immv_imcp.py --ignore=tests/test_atlases.py --ignore=tests/test_atlases_query.py --ignore=tests/test_scripts/test_atlasq_list_summary.py --ignore=tests/test_scripts/test_atlasq_ohi.py --ignore=tests/test_scripts/test_atlasq_query.py --ignore=tests/test_callfsl.py --ignore=tests/test_mesh.py --ignore=tests/test_dicom.py --ignore=tests/test_parse_data.py \
--ignore=tests/test_deprecated.py --ignore=tests/test_transform/test_nonlinear.py

%files -n python3-%{srcname}
%license LICENSE COPYRIGHT
%doc README.rst
%{python3_sitelib}/fsl
%{python3_sitelib}/%{srcname}-%{version}-py3.?.egg-info
%{_bindir}/atlasq
%{_bindir}/atlasquery
%{_bindir}/fsl_apply_x5
%{_bindir}/fsl_ents
%{_bindir}/fsl_convert_x5
%{_bindir}/imcp
%{_bindir}/imglob
%{_bindir}/immv
%{_bindir}/resample_image

%files doc
%license LICENSE COPYRIGHT
%doc html

%changelog
* Mon Sep 23 2019 Aniket Pradhan <major AT fedoraproject DOT org> - 2.6.1-1
- Update to 2.6.1

* Sat Aug 31 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.5.0-2
- Disable failing test on f32

* Sat Aug 31 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.5.0-1
- Update to 2.5.0
- Disable failing tests

* Mon Aug 19 2019 Miro HronĨok <mhroncok@redhat.com> - 2.3.1-3
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Jul 5 2019 Luis M. Segundo <blackfile@fedoraproject.org> - 2.3.1-1
- Update to 2.3.1

* Mon May 27 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.2.0-2
- Disable failing test for F29
- https://github.com/pauldmccarthy/fslpy/issues/4
- Update all branches to ensure update path is correct

* Mon May 27 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.2.0-1
- Update to 2.2.0
- Use dep generator
- Update ignored test locations

* Sun Apr 14 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.1.0-1
- Update to 2.1.0

* Sun Apr 14 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.1-2
- Add BR to build docs correctly

* Wed Apr 10 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.1-1
- Update to 2.0.1

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Nov 08 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.12.0-3
- Fix doc build on < F30
- Fix test by requiring higher nibabel

* Thu Nov 08 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.12.0-2
- Correct shebangs
- Move Requires to the sub package

* Thu Nov 01 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.12.0-1
- Initial build