%global jnml_version 0.12.0 %global _description %{expand:\ A single package in Python unifying scripts and modules for reading, writing, \ simulating and analysing NeuroML2/LEMS models. Documentation is available at https://docs.neuroml.org } Name: python-pyneuroml Version: 0.7.3 Release: 1%{?dist} Summary: Read, write, simulate and analyze NeuroML2/LEMS models License: BSD URL: https://github.com/NeuroML/pyNeuroML/ Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Patch0: 0001-Use-system-jnml-jar.patch BuildRequires: git-core BuildArch: noarch %description %{_description} %package -n python3-pyneuroml Summary: %{summary} BuildRequires: python3-devel BuildRequires: python3-setuptools # Version locked Requires: jneuroml => %{jnml_version}-1 %{?python_provide:%python_provide python3-pyNeuroML} %{?python_provide:%python_provide python3-pyneuroml} %description -n python3-pyneuroml %{_description} # write manually because we want to include the neuron base package also %package -n python3-pyneuroml+neuron Summary: Metapackage for python3-pyneuroml: neuron extras Requires: python3-pyneuroml = %{version}-%{release} Requires: neuron %description -n python3-pyneuroml+neuron This is a metapackage bringing in neuron extras requires for python3-pyneuroml. It makes sure the dependencies are installed. %files -n python3-pyneuroml+neuron %ghost %{python3_sitelib}/*.dist-info # https://bugzilla.redhat.com/show_bug.cgi?id=2142632 # so automatic requires/br does not work %package -n python3-pyneuroml+povray Summary: Metapackage for python3-pyneuroml: povray extras Requires: python3-pyneuroml = %{version}-%{release} Requires: python3-opencv BuildRequires: python3-opencv %description -n python3-pyneuroml+povray This is a metapackage bringing in povray extras requires for python3-pyneuroml. It makes sure the dependencies are installed. %files -n python3-pyneuroml+povray %ghost %{python3_sitelib}/*.dist-info %pyproject_extras_subpkg -n python3-pyneuroml brian %pyproject_extras_subpkg -n python3-pyneuroml netpyne %pyproject_extras_subpkg -n python3-pyneuroml hdf5 %pyproject_extras_subpkg -n python3-pyneuroml analysis %pyproject_extras_subpkg -n python3-pyneuroml tune %package doc Summary: Documentation for pyneuroml %description doc %{_description} %prep %autosetup -n pyNeuroML-%{version} -S git # use latest jneuroml that we provide in the COPR sed -i 's/JNEUROML_VERSION =.*$/JNEUROML_VERSION = "%{jnml_version}"/' pyneuroml/__init__.py # Comment out to remove /usr/bin/env shebangs find . -type f -name "*.py" -exec sed -i '/^#![ ]*\/usr\/bin\/env.*$/ d' {} 2>/dev/null ';' # Correct encoding sed -i 's/\r$//' examples/test.hoc # remove exec perm find examples/ -name "*.sh" -exec chmod -x '{}' \; find examples/ -name "*.nml" -exec chmod -x '{}' \; # Remove argparse: part of py3 now # remove neuromllite req: cyclic dependency # add inspyred as dep # remove opencv-python sed -i -e "/argparse/ d" -e 's/"opencv-python"/""/' -e '/neuromllite>=0.4.1/ d' -e 's/"ppft"/"ppft", "inspyred"/' setup.py # remove bundled jnml jar rm -f pyneuroml/lib/*jar -v %generate_buildrequires %pyproject_buildrequires -r -x neuron -x hdf5 -x analysis -x tune -x brian -x netpyne #-x povray: https://bugzilla.redhat.com/show_bug.cgi?id=2142632 %build %pyproject_wheel %install %pyproject_install %pyproject_save_files pyneuroml %check # rely on upstream tests, require lots of data files %pyproject_check_import %files -n python3-pyneuroml -f %{pyproject_files} %license LICENSE.lesser %doc README.md %{_bindir}/pynml %{_bindir}/pynml-channelanalysis %{_bindir}/pynml-channelml2nml %{_bindir}/pynml-plotmorph %{_bindir}/pynml-modchananalysis %{_bindir}/pynml-povray %{_bindir}/pynml-plotspikes %{_bindir}/pynml-sonata %{_bindir}/pynml-summary %{_bindir}/pynml-tune %{_mandir}/man1/pynml*.1* %files doc %license LICENSE.lesser %doc README.md CONTRIBUTING.md %doc examples %changelog * Fri Dec 02 2022 Ankur Sinha - 0.7.3-1 - Update to 0.7.3 * Tue Nov 22 2022 Ankur Sinha - 0.7.2-2 - Include patch to install all man pages * Tue Nov 22 2022 Ankur Sinha - 0.7.2-1 - Update to latest release * Tue Jan 04 2022 Ankur Sinha - 0.5.20-1 - Update to 0.5.20 * Mon Nov 29 2021 Ankur Sinha - 0.5.18-2 - Include patches from upstream * Thu Nov 11 2021 Ankur Sinha - 0.5.18-1 - update to 0.5.18 * Tue Sep 07 2021 Ankur Sinha - 0.5.11-2 - Fix build * Mon Mar 22 2021 Ankur Sinha - 0.5.11-1 - Update to latest release * Tue Mar 02 2021 Ankur Sinha - 0.5.9-1 - Update to latest release * Tue Jan 05 2021 Ankur Sinha - 0.5.6-3 - Update to use latest jnml version we provide * Wed Aug 19 2020 Ankur Sinha - 0.5.6-2 - Fix patch * Fri Aug 07 2020 Ankur Sinha - 0.5.6-1 - Update to 0.5.6 - remove kiwisolver version bind - Use system copy of jneuroml * Fri Aug 07 2020 Ankur Sinha - 0.3.15-2 - Remove argparse requirement * Fri Aug 07 2020 Ankur Sinha - 0.3.15-1 - Update to new release * Sat Oct 27 2018 Ankur Sinha - 0.3.13-1 - Initial build