Blob Blame History Raw
# https://github.com/NeuralEnsemble/libNeuroML/issues/85
# Issue filed: examples removed, no clear changelog, files required for tests are missing too
# switch to git tar in the meantime

%global commit ba9c2774c377b96dfde74926d216ca02ae1335ea
%global shortcommit %(c=%{commit}; echo ${c:0:7})

%global srcname libNeuroML

# https://fedoraproject.org/wiki/Packaging:DistTag?rd=Packaging/DistTag#Conditionals
%if 0%{?fedora} < 30
%global with_py2 1
%else
%global with_py2 0
%endif

%global _description \
This package provides Python libNeuroML, for working with neuronal models \
specified in NeuroML 2 (http://neuroml.org/neuromlv2).  NeuroML provides an \
object model for describing neuronal morphologies, ion channels, synapses and \
3D network structure.  Documentation is available at \
http://readthedocs.org/docs/libneuroml/en/latest/


Name:           python-%{srcname}
Version:        0.2.47
Release:        1%{?dist}
Summary:        Python libNeuroML for working with neuronal models specified in NeuroML

License:        BSD
URL:            http://neuroml.org/
Source0:        https://github.com/NeuralEnsemble/%{srcname}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
# These require a mongodb db set up, so we disable them
Patch0:         %{srcname}-0.2.45-disable-mongodb-test.patch

BuildArch:      noarch

%description
%{_description}

%package -n python3-%{srcname}
Summary:        %{summary}
BuildRequires:  python3-devel
BuildRequires:  %{py3_dist lxml}
BuildRequires:  %{py3_dist nose}
BuildRequires:  %{py3_dist numpy}
BuildRequires:  %{py3_dist tables}
BuildRequires:  %{py3_dist jsonpickle}
BuildRequires:  %{py3_dist pymongo}
BuildRequires:  %{py3_dist sphinx}
Requires:  %{py3_dist lxml}
Requires:  %{py3_dist numpy}
Requires:  %{py3_dist tables}
Requires:  %{py3_dist jsonpickle}
Requires:  %{py3_dist pymongo}
%{?python_provide:%python_provide python3-%{srcname}}

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

%package doc
Summary:    Documentation for %{srcname}

%description doc
%{_description}

%if %{with_py2}
%package -n python2-%{srcname}
Summary:        %{summary}
BuildRequires:  python2-devel
BuildRequires:  %{py2_dist lxml}
BuildRequires:  %{py2_dist nose}
BuildRequires:  %{py2_dist numpy}
BuildRequires:  %{py2_dist tables}
BuildRequires:  %{py2_dist jsonpickle}
BuildRequires:  %{py2_dist pymongo}
Requires:  %{py2_dist lxml}
Requires:  %{py2_dist numpy}
Requires:  %{py2_dist tables}
Requires:  %{py2_dist jsonpickle}
Requires:  %{py2_dist pymongo}
%{?python_provide:%python_provide python2-%{srcname}}

%description -n python2-%{srcname}
%{_description}
%endif

%prep
%autosetup -p 1 -n %{srcname}-%{commit}

# remove shebang
sed -i '1d' neuroml/nml/nml.py

# remove egg info
rm -fv %{name}.egg-info

# correct end of line encoding
sed -i 's/\r$//' neuroml/examples/test_files/tmp2.swc

%build
%py3_build

%if %{with_py2}
%py2_build
%endif

# Make documentation
pushd doc && \
    make html SPHINXBUILD=sphinx-build-3 && \
    rm _build/html/.buildinfo -fv && \
popd || exit -1

%install
%py3_install

%if %{with_py2}
%py2_install
%endif

%check
nosetests-3

%if %{with_py2}
nosetests-2
%endif

%files -n python3-%{srcname}
%license LICENSE
%doc README.md AUTHORS
%{python3_sitelib}/%{srcname}-*.egg-info/
%{python3_sitelib}/neuroml

%files doc
%license LICENSE
%doc README.md AUTHORS
%doc neuroml/examples doc/_build/html/

%if %{with_py2}
%files -n python2-%{srcname}
%license LICENSE
%doc README.md AUTHORS
%{python2_sitelib}/%{srcname}-*.egg-info/
%{python2_sitelib}/neuroml
%endif

%changelog
* Thu Apr 11 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.47-1
- Update to 0.2.47
- use github tar since pypi tar does not contain all required files

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

* Sat Oct 27 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.45-5
- Update to use conditional for spec uniformity

* Fri Oct 26 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.45-4
- Correct license
- Remove bcond
- Remove hidden buildinfo file
- Correct end of line encoding
- Remove unneeded shebang (https://github.com/NeuralEnsemble/libNeuroML/issues/77)
- Add missing requires

* Thu Oct 25 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.45-3
- Correct doc build
- Temporarily use bcond

* Thu Oct 25 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.45-2
- Correct doc sub package name

* Thu Oct 25 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.45-1
- Initial build