%global checkout_date 20200807 %global debug_package %{nil} Name: neuroConstruct Version: 1.7.2 Release: 5%{?dist} Summary: Biophysically detailed neuronal modelling in 3D # jython: CNRI and BSD and ASL and MIT # neuroConstruct: GPLv2+ # jogl: BSD # joal: BSD # jocl: BSD # gluegen: BSD License: GPLv2+ and ASL 2.0 and BSD and MIT and Python and CNRI URL: http://www.neuroconstruct.org/ # Using the pre-built jar Source0: https://github.com/NeuralEnsemble/neuroConstruct/releases/download/v%{version}/neuroConstruct_%{version}.zip Requires: java-headless Requires: javapackages-filesystem Provides: bundled(jneuroml2) = 2.0.0 Provides: bundled(jneuroml) = 0.8.3 Provides: bundled(lems) = 0.8.3 Provides: bundled(junit) = 4.8.1 # Version not provided Provides: bundled(jhdf5) Provides: bundled(jython) = 2.7b3 # all part of j3d? Provides: bundled(j3d) = 1.6.0-pre9 Provides: bundled(joal) = 2.1.2 Provides: bundled(jogl) = 2.1.2 Provides: bundled(jocl) = 2.1.2 Provides: bundled(gluegen) = 2.1.2 # jython bundles these Provides: bundled(antlr) = 3.1.3 Provides: bundled(asm) = 4.0 Provides: bundled(commons-compress) = 1.8.1 Provides: bundled(guava) = 17.0 Provides: bundled(icu4j) = 52_1 Provides: bundled(jarjar) = 1.4 Provides: bundled(jffi) = 1.2.6 Provides: bundled(jline) = 1.0 Provides: bundled(jnr-constants) = 0.8.4 Provides: bundled(jnr-ffi) = 0.7.0 Provides: bundled(jnr-netdb) = 1.1.1 Provides: bundled(jnr-posix) = 2.4.0 Provides: bundled(junit) = 4.10 Provides: bundled(libreadline-java) = 0.8 Provides: bundled(mysql-connector) = 5.1.6 Provides: bundled(netty) = 4.0.20 Provides: bundled(postgresql-java) = 8.3-603 Provides: bundled(servlet-api) = 2.5 Provides: bundled(xercesImpl) = 2.11.0 Provides: bundled(xml-apis) = 2.11.0 Provides: bundled(mockrunner) = 0.4.1 Provides: bundled(cpptasks) = 1.0b5 %description This is neuroConstruct, software for developing 3D networks for biologically realistic neuronal simulations. Some of the key features of neuroConstruct are: - neuroConstruct can import morphology files in GENESIS, NEURON, Neurolucida, SWC and MorphML format for inclusion in single cell or network models, or more abstract cells can also be built manually. - Creation of networks of conductance based neurons positioned in 3D - Complex connectivity patterns between cell groups can be specified for the networks - Simulation scripts can be generated for NEURON, GENESIS, MOOSE, PSICS and PyNN based simulators (note: not every project can be generated for every simulator) - Biophysically realistic cellular mechanisms (synapses/channel mechanisms) can be imported from native script files (*.mod or *.g) or created from templates using ChannelML - Automatic generation of code to record simulation data and visualisation/analysis of data in neuroConstruct - Recorded simulation runs can be viewed and managed through the Simulation Browser interface - A Python based scripting interface can be used to control model generation and execution, allowing multiple simulations to be run for cell and network model optimisation This package includes the pre-built Jar file along with the necessary dependencies. %prep %autosetup -n %{name}_%{version} # Fix the path sed -i 's|^export NC_HOME.*|export NC_HOME="%{_javadir}/%{name}/"|' nCenv.sh %build # Nothing to do here %install # Put stuff in the right place install -p -m 0644 -D -T %{name}_%{version}.jar %{buildroot}/%{_javadir}/%{name}/%{name}_%{version}.jar # scripts install -p -m 0755 -D -T nC.sh %{buildroot}/%{_bindir}/nC.sh install -p -m 0755 -D -T nCenv.sh %{buildroot}/%{_bindir}/nCenv.sh # everything is hard-coded to go into the NC_HOME dir cp -rv jNeuroMLJar %{buildroot}/%{_javadir}/%{name}/ rm -rfv lib/hdf5/win* find lib -name "*windows*" -delete find lib -name "*Windows*" -delete find lib -name "*macosx*" -delete find lib -name "*Darwin*jar" -delete find lib -name "*ppc*jar" -delete find lib -name "*s390x*jar" -delete find lib -name "*sparc*jar" -delete find lib -name "*FreeBSD*jar" -delete find lib -name "*OpenBSD*jar" -delete find lib -name "*SunOS*jar" -delete cp -rv lib %{buildroot}/%{_javadir}/%{name}/ cp -rv nCexamples %{buildroot}/%{_javadir}/%{name}/ cp -rv templates %{buildroot}/%{_javadir}/%{name}/ cp -rv NeuroML2 %{buildroot}/%{_javadir}/%{name}/ # Do this separately because some bits are to go into docs in the files section install -p -m 0755 -d %{buildroot}/%{_javadir}/%{name}/docs/ cp -rv docs/XML %{buildroot}/%{_javadir}/%{name}/docs/ install -p -m 0755 -d %{buildroot}/%{_datadir}/%{name} cp -rv matlabOctave %{buildroot}/%{_datadir}/%{name}/ # Remove unneeded stuff rm -rf *.sh *.bat tests testProjects src *.xml docs/website %files %license licence.txt %{_javadir}/%{name} %{_bindir}/nC.sh %{_bindir}/nCenv.sh %{_datadir}/%{name} %doc docs/helpdocs %doc pythonnC %changelog * Fri Sep 18 2020 Ankur Sinha - 1.7.2-5 - Include more files needed at runtime - List bundled jars - Remove unneeded jars * Thu Sep 17 2020 Ankur Sinha - 1.7.2-3 - Add docs to package - Update licenses * Thu Sep 17 2020 Ankur Sinha - 1.7.2-2 - Remove noarch: build fails on F31 and F32 * Thu Sep 17 2020 Ankur Sinha - 1.7.2-1 - Initial build