%global pypi_name lfpy
%global pretty_name LFPy
%global desc %{expand: \
LFPy is a Python-module for calculation of extracellular potentials from
multi-compartment neuron models. It relies on the NEURON simulator ( and uses
the Python interface ( it provides.LFPy provides a set of easy-to-use Python
classes for setting up your model, running your simulations and calculating the
extracellular potentials arising from activity in your model neuron. If you
have a model...}
%global py_version python3-
%global py_dist python3.8dist
Name: python-lfpy
Version: 2.1.2
Release: 2%{?dist}
Summary: Model extracellular potentials of multicompartment neuron models built on NEURON
License: GPLv3
URL: http://LFPy.readthedocs.io
Source0: %{pypi_source %pretty_name}
# Requires NEURON, so limited to arches that NEURON and Random123 support
ExcludeArch: mips64r2 mips32r2 s390
# Upstream does not support powerpc or 32bit arches
# https://github.com/LFPy/LFPy/issues/173
# Bug: ppc: https://bugzilla.redhat.com/show_bug.cgi?id=1838565
# Bug: armv7hl: https://bugzilla.redhat.com/show_bug.cgi?id=1838564
ExcludeArch: %{power64} %{ix86} armv7hl
%?python_enable_dependency_generator
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: readline-devel
BuildRequires: ncurses-devel
BuildRequires: python3-devel
BuildRequires: %{py3_dist cython}
BuildRequires: %{py3_dist h5py}
BuildRequires: %{py3_dist meautility}
BuildRequires: %{py3_dist neuron}
BuildRequires: neuron-devel
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist numpy}
BuildRequires: %{py3_dist scipy}
BuildRequires: %{py3_dist setuptools}
BuildRequires: python3-mpi4py-openmpi
BuildRequires: python3-neuron-openmpi
BuildRequires: python3-mpi4py-mpich
BuildRequires: python3-neuron-mpich
BuildRequires: mpich-devel
BuildRequires: openmpi-devel
BuildRequires: rpm-mpi-hooks
%description
%{desc}
%package -n python3-%{pypi_name}
Summary: %{summary}
%description -n python3-%{pypi_name}
%{desc}
%py_provides python3-%{pypi_name}
Requires: %{py3_dist h5py}
Requires: %{py3_dist numpy}
Requires: %{py3_dist scipy}
Requires: %{py3_dist neuron}
Requires: python3-mpi4py-openmpi
Requires: python3-mpi4py-mpich
%prep
%autosetup -n %{pretty_name}-%{version}
# Remove bundled egg-info
rm -rf %{pretty_name}.egg-info
# Remove mpi4py from requirements
sed -i '/mpi4py/ d' setup.py
for lib in $(find . -type f -name "*.py"); do
sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new &&
touch -r $lib $lib.new &&
mv $lib.new $lib
done
%build
%py3_build
%install
%py3_install
%check
# https://github.com/LFPy/LFPy/blob/master/continuous_integration/test_script.sh#L16
%{_mpich_load}
%{pytest} LFPy/test/
%{_mpich_unload}
%{_openmpi_load}
%{pytest} LFPy/test/
%{_openmpi_unload}
# Remove unneeded test files: they include objects and libraries generated from neuron.
rm -rf %{buildroot}/%{python3_sitearch}/%{pretty_name}/test/
# Remove associated debuginfo files
rm -rf %{buildroot}/usr/lib/debug/%{python3_sitearch}/%{pretty_name}/test/
%files -n python3-%{pypi_name}
%license LICENSE
%doc README.md
%{python3_sitearch}/%{pretty_name}
%{python3_sitearch}/%{pretty_name}-%{version}-py%{python3_version}.egg-info
%changelog
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Nov 26 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.1.2-1
- Update to latest release
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.7-8
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.0.7-6
- Rebuilt for Python 3.9
* Thu May 21 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.7-5
- Re-enable tests
- Add arches that we cannot build on
- List bugs for for ExcludeArch
* Thu May 21 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.7-4
- Update supported architectures
* Wed May 13 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.7-3
- Cosmetic changes to spec
- Add missing Requires/BR on neuron
- Enable test
- List supported arches
- Remove unneeded test files
* Wed May 13 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 2.0.7-2
- Remove auto-generated mpi4py requires, we use explicitly mention the necessary packages in Requires
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.0.3-7
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Sat Aug 31 2019 Luis Bazan <lbazan@fedoraproject.org> - 2.0.3-6
- fix typos in spec
* Mon Aug 26 2019 Luis Bazan <lbazan@fedoraproject.org> - 2.0.3-5
- fix comment #14 BZ #1727491
* Mon Aug 26 2019 Luis Bazan <lbazan@fedoraproject.org> - 2.0.3-4
- fix mixed space and tabs
- non-executable script
* Mon Aug 26 2019 Luis Bazan <lbazan@fedoraproject.org> - 2.0.3-3
- fix some typos and import source
* Thu Aug 22 2019 Miro Hrončok <mhroncok@redhat.com> - 2.0.3-2
- Rebuilt for Python 3.8
* Thu Jun 6 2019 victortyau <victortyau@gmail.com> 2.0.3-1
- Initial package for fedora