Blame neuron.spec

c703909
# This is a serial build of NEURON
8e88850
%global _description %{expand:
b412848
NEURON is a simulation environment for modeling individual neurons and networks
b412848
of neurons. It provides tools for conveniently building, managing, and using
b412848
models in a way that is numerically sound and computationally efficient. It is
b412848
particularly well-suited to problems that are closely linked to experimental
b412848
data, especially those that involve cells with complex anatomical and
b412848
biophysical properties.
b412848
84eaa38
This package does not include MPI support.
b412848
b412848
Please install the %{name}-devel package to compile nmodl files and so on.
b412848
}
b412848
b412848
%global tarname nrn
b412848
b412848
# fails somehow, disabled by default
b412848
%bcond_with metis
b412848
c703909
# Music support
c703909
%bcond_with music
c703909
9bd556b
%bcond_without mpich
a563fb8
%bcond_without openmpi
9bd556b
b412848
Name:       neuron
b087e1f
Version:    7.8.1
4c00d82
Release:    7%{?dist}
b412848
Summary:    A flexible and powerful simulator of neurons and networks
b412848
b412848
License:    GPLv3+
b412848
URL:        http://www.neuron.yale.edu/neuron/
c703909
Source0:    https://github.com/neuronsimulator/%{tarname}/archive/%{version}/%{name}-%{version}.tar.gz
b412848
b412848
Patch0:     0001-Unbundle-Random123.patch
b412848
# libstdc++ bundled is from 1988: seems heavily modified. Headers from there
b412848
# are not present in the current version
b412848
# https://github.com/neuronsimulator/nrn/issues/145
b087e1f
b087e1f
# Use system copy of Catch
b087e1f
Patch1:     0002-Unbundle-catch.patch
b087e1f
# We install the python bits ourselves
b087e1f
Patch2:     0003-Disable-python-build-and-install.patch
b087e1f
# Set soversions for all shared objects
b087e1f
Patch3:     0004-Set-soversions-for-libs.patch
0cc9008
# Set the right path for libdir
0cc9008
# Upstreamable
0cc9008
Patch4:     0005-Correct-librxdmath-path-for-64bit.patch
4c00d82
# stop build scripts from generating version during build
4c00d82
Patch5:     0006-Do-not-generate-version-info-at-buildtime.patch
b087e1f
b087e1f
# Quite a lot of files have been dropped in 7.8.1
b087e1f
# https://github.com/neuronsimulator/nrn/issues/719
fbf7435
b412848
# Random123 does not build on these, so neither can NEURON
b412848
# https://github.com/neuronsimulator/nrn/issues/114
1833914
ExcludeArch:    mips64r2 mips32r2 s390
b412848
dac195a
BuildRequires: make
b412848
BuildRequires:  autoconf
b412848
BuildRequires:  automake
b412848
BuildRequires:  bison
b412848
BuildRequires:  bison-devel
b087e1f
BuildRequires:  cmake
b087e1f
BuildRequires:  catch-devel
b087e1f
# Needs to be packaged separately
b087e1f
# BuildRequires:  coreneuron-devel
b412848
BuildRequires:  flex
cb64079
BuildRequires:  (flex-devel or libfl-devel)
b412848
BuildRequires:  gcc
b412848
BuildRequires:  gcc-c++
8e88850
BuildRequires:  git-core
b087e1f
# the cmake build requires iv with cmake too
b087e1f
BuildRequires:  iv-devel >= 0.1
b412848
BuildRequires:  libX11-devel
b087e1f
BuildRequires:  libXext-devel
b412848
BuildRequires:  libtool
b412848
%if %{with metis}
b412848
BuildRequires:  metis-devel
b412848
%endif
b412848
BuildRequires:  ncurses-devel
b412848
BuildRequires:  readline-devel
b412848
BuildRequires:  Random123-devel
b412848
8e88850
# Bundles sundials. WIP
8e88850
# https://github.com/neuronsimulator/nrn/issues/113
8e88850
# BuildRequires:  sundials-devel
8e88850
Provides: bundled(sundials) = 2.0.1
8e88850
8e88850
%description %_description
b412848
b412848
%package devel
b412848
Summary:    Development files for %{name}
b412848
Requires: %{name}%{?_isa} = %{version}-%{release}
811d174
Requires:  ncurses-devel
811d174
Requires:  readline-devel
19c889e
Requires:  gcc-c++
5985701
Requires:  libtool
19c889e
Requires:  libX11-devel
19c889e
Requires:  libXext-devel
b412848
b412848
%description devel
b412848
Headers and development shared libraries for the %{name} package
b412848
b412848
%package doc
b412848
Summary:    Documentation for %{name}
b412848
BuildArch:  noarch
b412848
b412848
%description doc
b412848
Documentation for %{name}
b412848
c703909
%package -n python3-%{name}
c703909
Summary:   Python3 interface to %{name}
c703909
Requires:  %{name}%{?_isa} = %{version}-%{release}
c703909
BuildRequires:  python3-devel
c703909
BuildRequires:  python3-setuptools
c703909
BuildRequires:  python3-Cython
b087e1f
BuildRequires:  python3-pytest
c703909
c703909
%description -n python3-%{name} %_description
c703909
9bd556b
%if %{with mpich}
9bd556b
%package mpich
9bd556b
Summary:   %{name} built with MPICH support
9bd556b
BuildRequires:  mpich-devel
9bd556b
BuildRequires:  rpm-mpi-hooks
9bd556b
BuildRequires:  python3-mpi4py-mpich
9bd556b
9bd556b
Requires:       mpich
9bd556b
Requires:       python3-mpi4py-mpich
9bd556b
9bd556b
9bd556b
%description mpich %_description
9bd556b
9bd556b
%package mpich-devel
9bd556b
Summary:    Development files for %{name}
9bd556b
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
9bd556b
9bd556b
%description mpich-devel
9bd556b
Headers and development shared libraries for the %{name} package
9bd556b
9bd556b
%package -n python3-%{name}-mpich
9bd556b
Summary:    Python3 interface to %{name}-mpich
9bd556b
Requires:  %{name}-mpich%{?_isa} = %{version}-%{release}
9bd556b
9bd556b
%description -n python3-%{name}-mpich
9bd556b
%endif
b412848
a563fb8
%if %{with openmpi}
a563fb8
%package openmpi
a563fb8
Summary:   %{name} built with OpenMPI support
a563fb8
BuildRequires:  openmpi-devel
a563fb8
BuildRequires:  rpm-mpi-hooks
a563fb8
BuildRequires:  python3-mpi4py-openmpi
a563fb8
a563fb8
Requires:       openmpi
a563fb8
Requires:       python3-mpi4py-openmpi
a563fb8
a563fb8
a563fb8
%description openmpi %_description
a563fb8
a563fb8
%package openmpi-devel
a563fb8
Summary:    Development files for %{name}
a563fb8
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
a563fb8
a563fb8
%description openmpi-devel
a563fb8
Headers and development shared libraries for the %{name} package
a563fb8
a563fb8
%package -n python3-%{name}-openmpi
a563fb8
Summary:    Python3 interface to %{name}-openmpi
a563fb8
Requires:  %{name}-openmpi%{?_isa} = %{version}-%{release}
a563fb8
a563fb8
%description -n python3-%{name}-openmpi
a563fb8
%endif
a563fb8
b412848
%prep
c703909
%autosetup -n %{tarname}-%{version} -S git
b412848
b412848
# Remove executable perms from source files
6597845
find src -type f -executable ! -name '*.sh' -exec chmod -x {} +
b412848
b412848
# Remove bundled Random123
b412848
rm -rf src/Random123
b412848
rm -rf src/readline
b412848
b412848
# Create version file ourselves
4c00d82
# To create this, we run the git2version.sh script in a checked out copy of neuron
b412848
export TIMESTAMP=$(date +%Y-%m-%d)
b412848
cat > src/nrnoc/nrnversion.h << EOF
b412848
#define GIT_DATE "$TIMESTAMP"
b412848
#define GIT_BRANCH "master"
4c00d82
#define GIT_CHANGESET "da13bb7c"
4c00d82
#define GIT_DESCRIBE "7.8.1-1-gda13bb7c (Fedora %{fedora})"
b412848
EOF
b412848
b412848
# Use system libtool instead of a local copy that neuron tries to install
6597845
for f in bin/*_makefile.in; do
ba89d7a
    sed -r -i 's|(LIBTOOL.*=.*)\$\(pkgdatadir\)(.*)|\1$(bindir)\2|' $f
6597845
done
b412848
cb64079
# Stop system from using hard coded flags
cb64079
sed -i '/CompilerFlagsHelpers/ d' cmake/ReleaseDebugAutoFlags.cmake
cb64079
b412848
%build
8e88850
# Not yet to be used
8e88850
# export SUNDIALS_SYSTEM_INSTALL="yes"
9bd556b
%global do_build %{expand:
9bd556b
echo
9bd556b
echo "*** BUILDING %{name}-%{version}$MPI_COMPILE_TYPE ***"
9bd556b
echo
9bd556b
%set_build_flags
9bd556b
    cmake \\\
9bd556b
        -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
9bd556b
        -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
9bd556b
        -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
9bd556b
        -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
9bd556b
        -DCMAKE_INSTALL_INCLUDEDIR:PATH=$MPI_INCLUDE \\\
9bd556b
        -DCMAKE_INSTALL_LIBDIR:PATH=$MPI_LIB \\\
9bd556b
        -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
9bd556b
        -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
9bd556b
        -DCMAKE_SKIP_RPATH:BOOL=ON \\\
9bd556b
        -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \\\
9bd556b
        -DBUILD_SHARED_LIBS:BOOL=ON \\\
9bd556b
        -DNRN_ENABLE_SHARED=ON \\\
9bd556b
        -DNRN_ENABLE_INTERVIEWS=ON \\\
9bd556b
        -DNRN_ENABLE_PYTHON=ON \\\
9bd556b
        -DNRN_ENABLE_PYTHON_DYNAMIC=OFF \\\
9bd556b
        -DNRN_ENABLE_THREADS=ON \\\
9bd556b
        -DNRN_ENABLE_MEMACS=ON \\\
9bd556b
        -DNRN_ENABLE_RX3D=ON \\\
9bd556b
        -DNRN_ENABLE_CORENEURON=OFF \\\
9bd556b
        -DNRN_ENABLE_TESTS=ON \\\
9bd556b
        -DNRN_ENABLE_REL_RPATH=ON \\\
9bd556b
        -DNRN_ENABLE_MODULE_INSTALL=ON \\\
9bd556b
        -DNRN_ENABLE_INTERNAL_READLINE=OFF \\\
9bd556b
        -DNRN_ENABLE_MPI=$MPI_YES \\\
9bd556b
        -DMPI_INCLUDE_PATH=$MPI_INCLUDE \\\
9bd556b
        -DMPI_LIBRARY=$MPI_LIBFILE \\\
9bd556b
%if "%{_lib}" == "lib64" \
9bd556b
        -DLIB_SUFFIX=64 -B $MY_CMAKE_BUILDDIR && \
9bd556b
%else                      \
9bd556b
        -DLIB_SUFFIX="" -B $MY_CMAKE_BUILDDIR && \
9bd556b
%endif
9bd556b
%make_build -C $MY_CMAKE_BUILDDIR \
b412848
c703909
%if %{with music}
9bd556b
pushd $MY_CMAKE_BUILDDIR/src/neuronmusic
9bd556b
%make_build
c703909
%{py3_build}
c703909
popd
c703909
%endif
9bd556b
}
9bd556b
9bd556b
9bd556b
# Serial version
9bd556b
export MPI_COMPILER=serial
9bd556b
export MPI_SUFFIX=""
9bd556b
export MPI_HOME=%{_prefix}
9bd556b
export MPI_BIN=%{_bindir}
9bd556b
export MPI_INCLUDE=%{_includedir}
9bd556b
export MPI_LIB="%{_libdir}"
9bd556b
export MPI_LIBFILE=""
9bd556b
export MPI_YES=OFF
9bd556b
# Python 3
9bd556b
export MPI_COMPILE_TYPE=""
9bd556b
export MPI_SITEARCH="%{python3_sitearch}"
9bd556b
export MY_CMAKE_BUILDDIR="%_vpath_builddir"
9bd556b
%{do_build}
9bd556b
9bd556b
# MPICH
9bd556b
%if %{with mpich}
9bd556b
%{_mpich_load}
9bd556b
export CC=mpicc
9bd556b
export CXX=mpicxx
9bd556b
export FC=mpif90
9bd556b
export F77=mpif77
9bd556b
export MPI_YES=ON
9bd556b
# Python 3
9bd556b
export MPI_COMPILE_TYPE="-mpich"
9bd556b
export MY_CMAKE_BUILDDIR="%_vpath_builddir""-mpich"
9bd556b
export MPI_LIBFILE="$MPI_LIB/libmpi.so"
9bd556b
%{do_build}
9bd556b
%{_mpich_unload}
9bd556b
%endif
b412848
a563fb8
# OpenMPI
a563fb8
%if %{with openmpi}
a563fb8
%{_openmpi_load}
a563fb8
export CC=mpicc
a563fb8
export CXX=mpicxx
a563fb8
export FC=mpif90
a563fb8
export F77=mpif77
a563fb8
export MPI_YES=ON
a563fb8
# Python 3
a563fb8
export MPI_COMPILE_TYPE="-openmpi"
a563fb8
export MY_CMAKE_BUILDDIR="%_vpath_builddir""-openmpi"
a563fb8
export MPI_LIBFILE="$MPI_LIB/libmpi.so"
a563fb8
%{do_build}
a563fb8
%{_openmpi_unload}
a563fb8
%endif
a563fb8
b412848
%install
9bd556b
# Install everything
9bd556b
9bd556b
%global do_install %{expand:
9bd556b
echo
9bd556b
echo "*** INSTALLING %{name}-%{version}$MPI_COMPILE_TYPE ***"
9bd556b
echo
9bd556b
%make_install -C $MY_CMAKE_BUILDDIR
c703909
c703909
%if %{with music}
9bd556b
pushd $MY_CMAKE_BUILDDIR/src/neuronmusic
c703909
%{py3_install}
c703909
popd
c703909
%endif
c703909
9bd556b
# Python bits from the post install hook
c703909
# It requires the libraries before to be installed, not just built, so it must
c703909
# be done here. The only alternative is a different package that requires this,
c703909
# but this is simpler
9bd556b
RPM_LD_FLAGS="%{?__global_ldflags} -L$RPM_BUILD_ROOT/$MPI_LIB"
9bd556b
pushd $MY_CMAKE_BUILDDIR/src/nrnpython/
c703909
%{py3_build}
9bd556b
%{py3_install "--install-lib" "$MPI_PYTHON3_SITEARCH"}
c703909
popd
c703909
9bd556b
# set up second symlink for shared objects
9bd556b
pushd $RPM_BUILD_ROOT/$MPI_LIB/
9bd556b
    ln -sv ./libnrniv.so.0.0.0 libnrniv.so.0
9bd556b
    ln -sv ./librxdmath.so.0.0.0 librxdmath.so.0
9bd556b
popd
9bd556b
}
b412848
a563fb8
%global do_post_install_tweaks %{expand:
5f1c3b3
# Remove installed libfiles
5f1c3b3
rm -rfv $RPM_BUILD_ROOT/$MPI_HOME/lib/python/neuron/
5f1c3b3
# Post install clean up: remove stray object files
5f1c3b3
# Must be done at end, otherwise it deletes object files required for other builds
5f1c3b3
find . $RPM_BUILD_ROOT/$MPI_LIB/ -name "*.o" -exec rm -f '{}' \\;
5f1c3b3
# Remove libtool archives
5f1c3b3
find . $RPM_BUILD_ROOT/$MPI_LIB/ -name "*.la" -exec rm -f '{}' \\;
5f1c3b3
# Remove installed copy of libtool
5f1c3b3
# Remove iv header provided by iv package
a563fb8
rm -rf $RPM_BUILD_ROOT/$MPI_HOME/include/ivstream.h
a563fb8
# Delete installed libtool
a563fb8
rm -fv $RPM_BUILD_ROOT/$MPI_HOME/share/%{tarname}/libtool
a563fb8
a563fb8
# Only needed for MPI builds
a563fb8
if [ x"$MPI_SUFFIX" != "x" ]
a563fb8
then
a563fb8
# Do not install demo files for MPI packages
a563fb8
rm -rf $RPM_BUILD_ROOT/$MPI_HOME/share/%{tarname}/demo
a563fb8
# Renaming MPI bits
5f1c3b3
pushd $RPM_BUILD_ROOT/$MPI_BIN/
5f1c3b3
# Rename file references to use MPI_SUFFIX before renaming them
5f1c3b3
sed -i "s/nrniv\"/nrniv$MPI_SUFFIX\"/g" nrngui
5f1c3b3
sed -i -e "s/nrniv\"/nrniv$MPI_SUFFIX\"/g" -e "s/nrnmech_makefile/nrnmech_makefile$MPI_SUFFIX/g" -e "s/nocmodl/nocmodl$MPI_SUFFIX/g" nrnivmodl
5f1c3b3
sed -i -e "s/nocmodl/nocmodl$MPI_SUFFIX/g" nrnmech_makefile
5f1c3b3
sed -i -e "s/nocmodl/nocmodl$MPI_SUFFIX/g" mkthreadsafe
5f1c3b3
5f1c3b3
# Rename files to include $MPI_SUFFIX
5f1c3b3
for f in modlunit neurondemo nrngui nrniv sortspike mkthreadsafe nocmodl nrnivmodl nrnmech_makefile
5f1c3b3
do
5f1c3b3
    mv -v "$f"{,$MPI_SUFFIX}
5f1c3b3
done
5f1c3b3
mv -v nrnpyenv{,$MPI_SUFFIX}.sh
5f1c3b3
mv -v set_nrnpyenv{,$MPI_SUFFIX}.sh
5f1c3b3
popd
a563fb8
fi
5f1c3b3
}
5f1c3b3
9bd556b
# Serial
9bd556b
export MPI_LIB="%{_libdir}"
9bd556b
export MPI_COMPILE_TYPE=""
9bd556b
export MPI_PYTHON3_SITEARCH=%{python3_sitearch}
9bd556b
export MY_CMAKE_BUILDDIR="%_vpath_builddir"
a563fb8
export MPI_HOME="%{_prefix}"
a563fb8
export MPI_BIN="%{_bindir}"
a563fb8
export MPI_SUFFIX=""
9bd556b
%do_install
a563fb8
%do_post_install_tweaks
c703909
# Remove duplicate files. These are installed in the correct python locations already
a563fb8
# rm -rf $RPM_BUILD_ROOT/%%{_datadir}/%%{tarname}/lib/python/%%{name}
b71cad2
b71cad2
b087e1f
9bd556b
# mpich
9bd556b
%if %{with mpich}
9bd556b
%{_mpich_load}
9bd556b
export MPI_COMPILE_TYPE="-mpich"
9bd556b
export MY_CMAKE_BUILDDIR="%_vpath_builddir""-mpich"
9bd556b
%do_install
a563fb8
%do_post_install_tweaks
9bd556b
%{_mpich_unload}
9bd556b
%endif
cb64079
a563fb8
# OpenMPI
a563fb8
%if %{with openmpi}
a563fb8
%{_openmpi_load}
a563fb8
export MPI_COMPILE_TYPE="-openmpi"
a563fb8
export MY_CMAKE_BUILDDIR="%_vpath_builddir""-openmpi"
a563fb8
%do_install
a563fb8
%do_post_install_tweaks
a563fb8
%{_openmpi_unload}
a563fb8
%endif
a563fb8
b412848
# The makefiles do not have shebangs
b412848
%files
b412848
%license Copyright
5985701
%{_bindir}/modlunit
b412848
%{_bindir}/neurondemo
b412848
%{_bindir}/nrngui
b412848
%{_bindir}/nrniv
b412848
%{_bindir}/sortspike
5985701
# Not needed but I'll include them for completeness anyway
5985701
%{_bindir}/nrnpyenv.sh
5985701
%{_bindir}/set_nrnpyenv.sh
b412848
# Libs
b412848
%{_libdir}/libnrniv.so.0.0.0
b412848
%{_libdir}/libnrniv.so.0
c703909
%{_libdir}/librxdmath.so.0.0.0
c703909
%{_libdir}/librxdmath.so.0
b412848
# other hoc files and data
b412848
%dir %{_datadir}/%{tarname}
b412848
%{_datadir}/%{tarname}/lib
b412848
c703909
# Python bits
c703909
%files -n python3-%{name}
c703909
# A data file resides here
c703909
%{python3_sitelib}/%{name}
c703909
# The libraries are here
c703909
%{python3_sitearch}/%{name}
c703909
# Egg info
b087e1f
%{python3_sitearch}/NEURON-7.8-py%{python3_version}.egg-info
c703909
b412848
%files devel
b412848
%license Copyright
b412848
%doc README.md
5985701
%{_bindir}/mkthreadsafe
5985701
%{_bindir}/nocmodl
5985701
%{_bindir}/nrnivmodl
811d174
%{_bindir}/nrnmech_makefile
5985701
# Headers
b087e1f
%{_includedir}/*.h
b087e1f
%{_includedir}/nrncvode/
5985701
# Shared objects
b412848
%{_libdir}/libnrniv.so
c703909
%{_libdir}/librxdmath.so
9bd556b
# required by neuron
9bd556b
# https://github.com/neuronsimulator/nrn/issues/719#issuecomment-677501890
9bd556b
%{_datadir}/%{tarname}/nrnmain.cpp
b412848
b412848
%files doc
b412848
%license Copyright
b412848
%{_datadir}/%{tarname}/demo
b412848
9bd556b
%if %{with mpich}
9bd556b
%files mpich
9bd556b
%license Copyright
9bd556b
%{_libdir}/mpich/bin/modlunit_mpich
9bd556b
%{_libdir}/mpich/bin/neurondemo_mpich
9bd556b
%{_libdir}/mpich/bin/nrngui_mpich
9bd556b
%{_libdir}/mpich/bin/nrniv_mpich
9bd556b
%{_libdir}/mpich/bin/sortspike_mpich
9bd556b
# Not needed but I'll include them for completeness anyway
9bd556b
%{_libdir}/mpich/bin/nrnpyenv_mpich.sh
9bd556b
%{_libdir}/mpich/bin/set_nrnpyenv_mpich.sh
9bd556b
# Libs
9bd556b
%{_libdir}/mpich/lib/libnrniv.so.0.0.0
9bd556b
%{_libdir}/mpich/lib/libnrniv.so.0
9bd556b
%{_libdir}/mpich/lib/librxdmath.so.0.0.0
9bd556b
%{_libdir}/mpich/lib/librxdmath.so.0
9bd556b
# 
9bd556b
%dir %{_libdir}/mpich/share/%{tarname}
9bd556b
%{_libdir}/mpich/share/%{tarname}/lib
9bd556b
9bd556b
# Python bits
9bd556b
%files -n python3-%{name}-mpich
9bd556b
# The libraries are here
9bd556b
%{python3_sitearch}/mpich/%{name}
9bd556b
# Egg info
9bd556b
%{python3_sitearch}/mpich/NEURON-7.8-py%{python3_version}.egg-info
9bd556b
9bd556b
%files mpich-devel
9bd556b
%license Copyright
9bd556b
%doc README.md
9bd556b
%{_libdir}/mpich/bin/mkthreadsafe_mpich
9bd556b
%{_libdir}/mpich/bin/nocmodl_mpich
9bd556b
%{_libdir}/mpich/bin/nrnivmodl_mpich
9bd556b
%{_libdir}/mpich/bin/nrnmech_makefile_mpich
9bd556b
# Headers
9bd556b
%{_libdir}/mpich/include/*.h
9bd556b
%{_libdir}/mpich/include/nrncvode/
9bd556b
# Shared objects
9bd556b
%{_libdir}/mpich/lib/libnrniv.so
9bd556b
%{_libdir}/mpich/lib/librxdmath.so
9bd556b
# required by neuron
9bd556b
# https://github.com/neuronsimulator/nrn/issues/719#issuecomment-677501890
9bd556b
%{_libdir}/mpich/share/%{tarname}/nrnmain.cpp
9bd556b
%endif
9bd556b
a563fb8
%if %{with openmpi}
a563fb8
%files openmpi
a563fb8
%license Copyright
a563fb8
%{_libdir}/openmpi/bin/modlunit_openmpi
a563fb8
%{_libdir}/openmpi/bin/neurondemo_openmpi
a563fb8
%{_libdir}/openmpi/bin/nrngui_openmpi
a563fb8
%{_libdir}/openmpi/bin/nrniv_openmpi
a563fb8
%{_libdir}/openmpi/bin/sortspike_openmpi
a563fb8
# Not needed but I'll include them for completeness anyway
a563fb8
%{_libdir}/openmpi/bin/nrnpyenv_openmpi.sh
a563fb8
%{_libdir}/openmpi/bin/set_nrnpyenv_openmpi.sh
a563fb8
# Libs
a563fb8
%{_libdir}/openmpi/lib/libnrniv.so.0.0.0
a563fb8
%{_libdir}/openmpi/lib/libnrniv.so.0
a563fb8
%{_libdir}/openmpi/lib/librxdmath.so.0.0.0
a563fb8
%{_libdir}/openmpi/lib/librxdmath.so.0
a563fb8
# 
a563fb8
%dir %{_libdir}/openmpi/share/%{tarname}
a563fb8
%{_libdir}/openmpi/share/%{tarname}/lib
a563fb8
a563fb8
# Python bits
a563fb8
%files -n python3-%{name}-openmpi
a563fb8
# The libraries are here
a563fb8
%{python3_sitearch}/openmpi/%{name}
a563fb8
# Egg info
a563fb8
%{python3_sitearch}/openmpi/NEURON-7.8-py%{python3_version}.egg-info
a563fb8
a563fb8
%files openmpi-devel
a563fb8
%license Copyright
a563fb8
%doc README.md
a563fb8
%{_libdir}/openmpi/bin/mkthreadsafe_openmpi
a563fb8
%{_libdir}/openmpi/bin/nocmodl_openmpi
a563fb8
%{_libdir}/openmpi/bin/nrnivmodl_openmpi
a563fb8
%{_libdir}/openmpi/bin/nrnmech_makefile_openmpi
a563fb8
# Headers
a563fb8
%{_libdir}/openmpi/include/*.h
a563fb8
%{_libdir}/openmpi/include/nrncvode/
a563fb8
# Shared objects
a563fb8
%{_libdir}/openmpi/lib/libnrniv.so
a563fb8
%{_libdir}/openmpi/lib/librxdmath.so
a563fb8
# required by neuron
a563fb8
# https://github.com/neuronsimulator/nrn/issues/719#issuecomment-677501890
a563fb8
%{_libdir}/openmpi/share/%{tarname}/nrnmain.cpp
a563fb8
%endif
a563fb8
b412848
%changelog
4c00d82
* Mon Nov 30 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-7
4c00d82
- Fix version info
4c00d82
4c00d82
* Mon Nov 23 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-6
4c00d82
- Bumpspec
4c00d82
5f1c3b3
* Mon Nov 23 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-5
a563fb8
- Enable mpi builds
9bd556b
19c889e
* Thu Oct 08 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-4
19c889e
- Add missing g++ and X dependencies
0cc9008
- Patch to let it correctly find librxdmath
19c889e
cb64079
* Thu Oct 08 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-3
cb64079
- Remove iv header
cb64079
- disable dynamic build, not needed for Fedora: we support the default python version
cb64079
- disble hard coded compiler flags
cb64079
3af9176
* Fri Sep 04 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-2
3af9176
- Correct flex dependency
3af9176
- #1871091
3af9176
b087e1f
* Tue Aug 18 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.8.1-1
b087e1f
- Update to new release
b087e1f
- Move to cmake build system
b087e1f
- use new cmake out of source build
b087e1f
4eb656e
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.7.2-8
4eb656e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
4eb656e
0bc70d4
* Thu May 28 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.2-7
0bc70d4
- Bump to build in py3.9 side tag
0bc70d4
5985701
* Thu May 28 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.2-6
5985701
- Include libtool as Requires for the makefiles
5985701
- Reshuffle files for better subpackages
5985701
897aeba
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 7.7.2-5
897aeba
- Rebuilt for Python 3.9
897aeba
1833914
* Thu May 21 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.2-4
1833914
- Update supported architectures
1833914
811d174
* Thu May 14 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.2-3
811d174
- Add missing BR for neuron-devel
811d174
- Move makefiles to -devel sub package
811d174
84eaa38
* Wed May 13 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.2-2
84eaa38
- Update description: this is built with iv support.
84eaa38
- Remove unneeded scriptlet
ba89d7a
- Fix sed command to modify neuron's make files
84eaa38
97ef49e
* Sun Mar 22 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.7.2-1
97ef49e
- Update to latest version (seems to be just bugfixes)
97ef49e
145218f
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.7.1-13
145218f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
145218f
f11ceb4
* Wed Nov 20 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-12
f11ceb4
- Build with iv support
f11ceb4
d6728dd
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 7.7.1-11
d6728dd
- Rebuilt for Python 3.8.0rc1 (#1748018)
d6728dd
e4e6413
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 7.7.1-10
e4e6413
- Rebuilt for Python 3.8
e4e6413
34b9ee6
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.7.1-9
34b9ee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
34b9ee6
c703909
* Mon Jul 15 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-8
c703909
- Enable Python build also
c703909
c703909
* Sat Jul 13 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-7
c703909
- Test a fixed python setup
c703909
- https://github.com/neuronsimulator/nrn/issues/238#issuecomment-505191230
c703909
d8c17f4
* Sun Jun 23 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-6
d8c17f4
- Add another patch
d8c17f4
9dd81d3
* Sun Jun 23 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-5
9dd81d3
- Improve patch to install all headers
9dd81d3
424ce19
* Sun Jun 23 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-4
424ce19
- Install all header files
424ce19
8f2b4ac
* Wed Jun 19 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-3
8f2b4ac
- Replace patch to inclde required headers
8f2b4ac
fbf7435
* Wed Jun 19 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-2
fbf7435
- Remove iv header from nrnconfig file
fbf7435
8e88850
* Wed Jun 19 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.7.1-1
8e88850
- Revert to using release tar
8e88850
- Use bundled sundials
8e88850
7991ad9
* Fri May 17 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-7.20181214git
7991ad9
- Fix file list
7991ad9
b71cad2
* Fri May 17 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-6.20181214git
b71cad2
- Rename oc to hoc to prevent conflict with origin-client binary
b71cad2
- rhbz 1696118
b71cad2
9a18798
* Sat Mar 02 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-5.20181214git5687519
9a18798
- Bump and rebuild
9a18798
b412848
* Thu Jan 31 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-4.20181214git5687519
b412848
- Remove libtool archives
b412848
- Remove stray comment
b412848
- Improve previous changelog
b412848
b412848
* Sun Jan 27 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-3.20181214git5687519
b412848
- Unbundle readline
b412848
- Remove readme: only speaks about installation
b412848
- Move header to includedir
b412848
- Update license
b412848
- Remove exec permissions from source files
b412848
b412848
* Sun Jan 06 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-2.20181214git5687519
b412848
- Put each BR on different line
b412848
- Remove unneeded comment
b412848
- Re-do random123 patch to only modify autotools files
b412848
- Remove random123 in prep
b412848
b412848
* Fri Dec 28 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 7.5-1.20181214git5687519
b412848
- Update to latest git snapshot that uses current sundials
b412848
- Build without MPI