File libmusic.spec of Package libmusic

#
# spec file for package libmusic
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           libmusic
Version:        1.1.17
%define sonum   1
Release:        0
License:        GPL-3.0-or-later
Summary:        Neuron simulation data exchange library
Group:          Development/Libraries/C and C++
URL:            https://github.com/INCF/MUSIC/wiki
Source0:        https://github.com/INCF/MUSIC/releases/download/%{version}/music-%{version}.tar.gz
BuildRequires:  fdupes
BuildRequires:  freeglut-devel
BuildRequires:  gcc-c++
# Only openmpi1 supported, due to usage of obsolete C++ MPI bindings
BuildRequires:  openmpi1-devel
BuildRequires:  openmpi1-macros-devel

%description
MUSIC allows spike events and continuous time series to be
communicated between applications in a cluster computer. The typical
usage cases are connecting models developed for different simulators
and connecting a parallel simulator to a post-processing tool.

%package -n %{name}%{sonum}
Summary:        Neuron simulation data exchange library

%description -n %{name}%{sonum}
MUSIC allows spike events and continuous time series to be
communicated between applications in a cluster computer. The typical
usage cases are connecting models developed for different simulators
and connecting a parallel simulator to a post-processing tool.

%package tools
Summary:        Neuron simulation data exchange tools
Group:          Development/Libraries/C and C++
Requires:       %{name}%{sonum} = %{version}

%description tools
MUSIC allows spike events and continuous time series to be
communicated between applications in a cluster computer. The typical
usage cases are connecting models developed for different simulators
and connecting a parallel simulator to a post-processing tool.

This package contains tools and utilities for use with %{name}

%package devel
Summary:        Development files for %{name}
Group:          Development/Libraries/C and C++
Requires:       %{name}%{sonum} = %{version}

%description devel
Development libraries and headers needed
to build packages using %{name}

%package doc
Summary:        Documentation for %{name}
Group:          Development/Libraries/C and C++
Recommends:     %{name}%{sonum} = %{version}
BuildArch:      noarch

%description doc
Documentation and help files for %{name}

%prep
%autosetup -p1 -n music-%{version}

%build
%setup_openmpi
%configure \
  --disable-static
  %{nil}
%make_build

%install
%make_install
find %{buildroot}/%{_libdir} -iname \*.la -print -delete
rm -Rf %{buildroot}%{_datadir}/music-%{version}/tests

%fdupes %{buildroot}/%{_mandir}


%post   -n %{name}%{sonum} -p /sbin/ldconfig
%postun -n %{name}%{sonum} -p /sbin/ldconfig

%files -n %{name}%{sonum}
%doc AUTHORS ChangeLog README
%license COPYING
%{_libdir}/libmusic.so.*
%{_libdir}/libmusic-c.so.*

%files tools
%{_bindir}/*
%{_mandir}/man1/*.1.gz
%{_libdir}/music-%{version}
%{_datadir}/music-%{version}

%files devel
%{_includedir}/music/
%{_includedir}/music.hh
%{_includedir}/music-c.h
%{_includedir}/predict_rank-c.h
%{_libdir}/libmusic.so
%{_libdir}/libmusic-c.so

%files doc
%doc doc/music-manual.pdf

%changelog
openSUSE Build Service is sponsored by