#
# Conditional build:
-%bcond_with ladcca # enable ladcca sesion managment support
-%bcond_with readline # build with readline lib line editing
-%bcond_with sse # use the SSE instructions of Pentium3+ or Athlon XP
-%bcond_without static_libs # don't build static library
-#
-%ifarch pentium3 pentium4 %{x8664}
-%define with_sse 1
-%endif
+%bcond_without lash # LASH support (GPL)
+%bcond_with midishare # MidiShare support
+%bcond_without pipewire # pipewire support
+%bcond_without portaudio # portaudio support
+%bcond_without readline # readline line editing (GPL)
+%bcond_without systemd # systemd notify support
#
Summary: FluidSynth - a software, real-time synthesizer
Summary(pl.UTF-8): FluidSynth - programowy syntezator działający w czasie rzeczywistym
Name: fluidsynth
-Version: 1.1.1
+Version: 2.3.4
Release: 1
-License: LGPL
+%if %{with lash} || %{with readline}
+License: GPL v2+ (enforced by lash/readline), LGPL v2+ (fluidsynth itself)
+%else
+License: LGPL v2+
+%endif
Group: Applications/Sound
-Source0: http://savannah.nongnu.org/download/fluid/%{name}-%{version}.tar.gz
-# Source0-md5: 0db3da78028d255026230809c6e21b44
-URL: http://www.fluidsynth.org/
-BuildRequires: alsa-lib-devel >= 0.9.0
-BuildRequires: autoconf >= 2.52
-BuildRequires: automake
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel
+#Source0Download: https://github.com/FluidSynth/fluidsynth/releases
+Source0: https://github.com/FluidSynth/fluidsynth/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 9e6f11b3a0b9981273e4d1fdadcd9533
+URL: https://www.fluidsynth.org/
+BuildRequires: SDL2-devel >= 2
+BuildRequires: alsa-lib-devel >= 0.9.1
+BuildRequires: cmake >= 3.13
+BuildRequires: dbus-devel >= 1.0.0
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.26.0
BuildRequires: jack-audio-connection-kit-devel
-%{?with_ladcca:BuildRequires: ladcca-devel < 0.4.0}
-%{?with_ladcca:BuildRequires: ladcca-devel >= 0.3.1}
BuildRequires: ladspa-devel
-BuildRequires: libtool
+%{?with_lash:BuildRequires: lash-devel >= 0.3}
+# OpenMP 4.0
+BuildRequires: libgomp-devel >= 6:4.9
+BuildRequires: libinstpatch-devel >= 1.1.0
+BuildRequires: libsndfile-devel >= 1.0.18
+%{?with_midishare:BuildRequires: midishare-devel}
BuildRequires: pkgconfig
+%{?with_pipewire:BuildRequires: pipewire-devel >= 0.3}
+%{?with_portaudio:BuildRequires: portaudio-devel >= 19}
+BuildRequires: pulseaudio-devel >= 0.9.8
%{?with_readline:BuildRequires: readline-devel}
BuildRequires: rpmbuild(macros) >= 1.213
-Requires: alsa-lib
+%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
+Requires: alsa-lib >= 0.9.1
+Requires: glib2 >= 1:2.26.0
+Requires: libsndfile >= 1.0.18
Suggests: soundfont-fluid
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(pl.UTF-8): Pliki nagłówkowe dla FluidSynth
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-%{?with_readline:Requires: readline-devel}
+Requires: alsa-lib-devel >= 0.9.1
+Requires: dbus-devel >= 1.0.0
+Requires: glib2-devel >= 1:2.26.0
+Requires: jack-audio-connection-kit-devel
+%{?with_lash:Requires: lash-devel >= 0.3}
+Requires: libsndfile-devel >= 1.0.18
+%{?with_midishare:Requires: midishare-devel}
+%{?with_pipewire:Requires: pipewire-devel >= 0.3}
+%{?with_portaudio:Requires: portaudio-devel >= 19}
+Requires: pulseaudio-devel >= 0.9.8
+%{?with_readline:Requires: readline-devel}
+Obsoletes: fluidsynth-static < 2
%description devel
This package contains the header files necessary to develop
Pakiet ten zawiera pliki nagłówkowe potrzebne do tworzenia i
kompilacji aplikacji korzystających z bibliotek FluidSynth.
-%package static
-Summary: Static FluidSynth library
-Summary(pl.UTF-8): Statyczna wersje biblioteki FluidSynth
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-
-%description static
-This package contains static version of the FluidSynth library.
-
-%description static -l pl.UTF-8
-Ten pakiet zawiera bibliotekę statyczną FluidSynth.
-
%prep
%setup -q
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-
-%configure \
- %{!?with_ladcca:--disable-ladcca} \
- %{!?with_static_libs:--disable-static} \
- %{?with_sse:--enable-SSE} \
- --enable-coreaudio \
- --enable-jack-support \
- --enable-ladspa \
- --enable-profiling \
- %{!?with_readline:--without-readline}
+%cmake -B build \
+ -Denable-midishare=%{with midishare} \
+ -Denable-lash=%{with lash} \
+ %{!?with_pipewire:-Denable-pipewire=OFF} \
+ -Denable-portaudio=%{with portaudio} \
+ -Denable-readline=%{with readline} \
+ %{!?with_systemd:-Denable-systemd=OFF}
-%{__make}
+%{__make} -C build
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
%clean
%files
%defattr(644,root,root,755)
-%doc ChangeLog README
+%doc AUTHORS README.md THANKS TODO
%attr(755,root,root) %{_bindir}/fluidsynth
%attr(755,root,root) %{_libdir}/libfluidsynth.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfluidsynth.so.1
+%attr(755,root,root) %ghost %{_libdir}/libfluidsynth.so.3
%{_mandir}/man1/fluidsynth.1*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libfluidsynth.so
-%{_libdir}/libfluidsynth.la
%{_includedir}/fluidsynth.h
-%{_includedir}/%{name}
+%{_includedir}/fluidsynth
%{_pkgconfigdir}/fluidsynth.pc
-
-%if %{with static_libs}
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libfluidsynth.a
-%endif
+%{_libdir}/cmake/fluidsynth