File fluidsynth.spec of Package fluidsynth
#
# spec file for package fluidsynth
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) Rui Nuno Capela <rncbc@rncbc.org>
#
# 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/
#
%define sover 3
Name: fluidsynth
Version: 2.4.4
Release: 0
Summary: A real-time software synthesizer based on SoundFont 2 specifications.
License: LGPL-2.0-or-later
Group: Productivity/Multimedia/Sound/Midi
URL: https://www.fluidsynth.org/
Source: %{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: coreutils
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: ladspa-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(sndfile)
%if %{defined fedora}
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libdb-devel
%else
BuildRequires: db-devel
BuildRequires: libjack-devel
%endif
#BuildRequires: doxygen
%description
FluidSynth is a real-time software synthesizer based on the SoundFont 2
specifications. It is a "software synthesizer". FluidSynth can read MIDI events
from the MIDI input device and render them to the audio device. It features
real-time effect modulation usingNov SoundFont 2.01 modulators, and a built-in
command line shell. It can also play MIDI files.
Note: FluidSynth was previously called IIWU Synth.
%package -n lib%{name}%{sover}
Summary: Shared library package for FluidSynth
Group: System/Libraries
Provides: %{name}-libs = %{version}-%{release}
Obsoletes: %{name}-libs < %{version}-%{release}
%description -n lib%{name}%{sover}
FluidSynth is a real-time software synthesizer based on the SoundFont
2 specifications. FluidSynth can read MIDI events from MIDI input
devices and render them to audio devices using SoundFont files to
define the instrument sounds. It can also play MIDI files and supports
real time effect control via SoundFont modulators and MIDI
controls. FluidSynth can be interfaced to other programs in different
ways, including linking as a shared library.
This package contains the run-time shared libraries for FluidSynth.
%package -n lib%{name}-devel
Summary: Development package for the fluidsynth library
Group: Development/Libraries/C and C++
Requires: lib%{name}%{sover} >= %{version}
Requires: pkgconfig
Provides: %{name}-devel = %{version}-%{release}
Obsoletes: %{name}-devel < %{version}
%description -n lib%{name}-devel
FluidSynth is a real-time software synthesizer based on the SoundFont
2 specifications. FluidSynth can read MIDI events from MIDI input
devices and render them to audio devices using SoundFont files to
define the instrument sounds. It can also play MIDI files and supports
real time effect control via SoundFont modulators and MIDI
controls. FluidSynth can be interfaced to other programs in different
ways, including linking as a shared library.
This package contains libraries and includes for building applications
with FluidSynth support.
%prep
%setup -q
%build
# FIXME: you should use the %%cmake macros
%cmake
%cmake_build
%make_build doc
%install
%cmake_install
%if 0%{?sle_version} == 150200 && 0%{?is_opensuse}
%post -n lib%{name}%{sover} -p /sbin/ldconfig
%postun -n lib%{name}%{sover} -p /sbin/ldconfig
%else
%ldconfig_scriptlets -n lib%{name}%{sover}
%endif
%files
%license LICENSE
%doc AUTHORS README.md THANKS TODO
%{_bindir}/*
%{_mandir}/man1/*
%files -n lib%{name}%{sover}
%{_libdir}/lib%{name}.so.%{sover}
%{_libdir}/lib%{name}.so.%{sover}.*
%files -n lib%{name}-devel
#doc doc/*.txt
#doc doc/api doc/html/*
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/%{name}.h
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*.h
%dir %{_libdir}/cmake
%dir %{_libdir}/cmake/%{name}
%{_libdir}/cmake/%{name}/*
%changelog