|
|
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
|