File rubberband.spec of Package rubberband

Name:		rubberband
Version:	4.0.0
Release:	18.1
Summary:	Rubber Band audio time-stretching and pitch-shifting library
URL:		https://www.breakfastquay.com/rubberband/
Source:		%{name}-%{version}.tar.bz2
Group:		Productivity/Multimedia/Sound/Utilities
License:	GPL-2.0-or-later
Packager:	rncbc.org

%define sover 3

%if %{defined fedora}
%define lib_name %{name}
%else
%define lib_name lib%{name}
%endif

BuildRequires:	coreutils
BuildRequires:	pkgconfig
BuildRequires:	glibc-devel
BuildRequires:	gcc-c++
BuildRequires:	pkgconfig
BuildRequires:	meson
%if %{defined fedora}
BuildRequires:	ninja-build
%else
BuildRequires:	ninja
%endif
BuildRequires:	fftw3-devel
BuildRequires:	libsamplerate-devel
BuildRequires:	libsndfile-devel
BuildRequires:	ladspa-devel
BuildRequires:	lv2-devel
BuildRequires:	vamp-plugin-sdk-devel

%description
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.
--
This package contains the rubberband audio file time-stretcher
and pitch-shiter command line utility.


%package -n %{name}-ladspa
Summary:	Rubber Band LADSPA plugins
Group:		Productivity/Multimedia/Sound/Utilities
Requires:	lib%{name}%{sover} = %{version}, ladspa

%description -n %{name}-ladspa
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.
--
This package contains the rubberband LADSPA plugin.


%package -n %{name}-lv2
Summary:	Rubber Band LV2 plugins
Group:		Productivity/Multimedia/Sound/Utilities
Requires:	lib%{name}%{sover} = %{version}, lv2-devel

%description -n %{name}-lv2
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.
--
This package contains the rubberband LV2 plugin.


%package -n %{name}-vamp
Summary:	Rubber Band VAMP plugins
Group:		Productivity/Multimedia/Sound/Utilities
Requires:	lib%{name}%{sover} = %{version}, vamp-plugin-sdk

%description -n %{name}-vamp
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.
--
This package contains the rubberband VAMP plugin.


%package -n lib%{name}%{sover}
Summary:	Rubber Band shared libraries
Group:		System/Libraries

%description -n lib%{name}%{sover}
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.


%package -n %{lib_name}-devel
Summary:	Rubber Band include files and libraries for development
Group:		Development/Libraries/C and C++
Requires:	lib%{name}%{sover} = %{version}, pkgconfig

%description -n %{lib_name}-devel
Rubber Band Library is a high quality software library for audio
time-stretching and pitch-shifting. It permits you to change the
tempo and pitch of an audio recording or stream dynamically and
independently of one another.
--
This package contains the header files needed for development with
librubberband. You will need this only if you intend to compile
programs that use this library.


%prep
%setup -q

%build
meson --prefix=%{_prefix}  \
 -Dfft=fftw                \
 -Dresampler=libsamplerate \
 -Djni=disabled            \
 build
ninja -C build

%install
DESTDIR=%{buildroot} \
meson install -C build


%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 -n %{name}
%doc README.md
%{_bindir}/*

%files -n lib%{name}%{sover}
%{_libdir}/lib%{name}.so.%{sover}
%{_libdir}/lib%{name}.so.%{sover}.*

%files -n %{lib_name}-devel
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*.h
%{_libdir}/lib%{name}.a
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc

%files -n %{name}-ladspa
%dir %{_libdir}/ladspa
%{_libdir}/ladspa/ladspa-%{name}.so
%{_libdir}/ladspa/ladspa-%{name}.cat
%dir %{_datadir}/ladspa
%dir %{_datadir}/ladspa/rdf
%{_datadir}/ladspa/rdf/ladspa-%{name}.rdf

%files -n %{name}-lv2
%dir %{_libdir}/lv2
%dir %{_libdir}/lv2/%{name}.lv2
%{_libdir}/lv2/%{name}.lv2/lv2-%{name}.so
%{_libdir}/lv2/%{name}.lv2/lv2-%{name}.ttl
%{_libdir}/lv2/%{name}.lv2/manifest.ttl

%files -n %{name}-vamp
%dir %{_libdir}/vamp
%{_libdir}/vamp/vamp-%{name}.so
%{_libdir}/vamp/vamp-%{name}.cat


%changelog
* Sun Oct 27 2024 Rui Nuno Capela <rncbc@rncbc.org> - 4.0.0
- new upstream release.
* Sat Jul 29 2023 Rui Nuno Capela <rncbc@rncbc.org> - 3.3.0
- new upstream release.
* Sat Apr  8 2023 Rui Nuno Capela <rncbc@rncbc.org> - 3.2.1
- new upstream release.
* Sat Apr  1 2023 Rui Nuno Capela <rncbc@rncbc.org> - 3.2.0
- new upstream release.
* Wed Dec 28 2022 Rui Nuno Capela <rncbc@rncbc.org> - 3.1.2
- new upstream release.
* Sat Oct 22 2022 Rui Nuno Capela <rncbc@rncbc.org> - 3.1.1
- new upstream release.
* Tue Oct  4 2022 Rui Nuno Capela <rncbc@rncbc.org> - 3.1.0
- new upstream release.
* Thu Jul 14 2022 Rui Nuno Capela <rncbc@rncbc.org> - 3.0.0
- new upstream release.
* Thu Apr  7 2022 Rui Nuno Capela <rncbc@rncbc.org> - 2.0.2
- late update to latest upstream release.
* Thu Mar 18 2021 Rui Nuno Capela <rncbc@rncbc.org> - 1.9.1
- new upstream release.
* Sat Feb 27 2021 Rui Nuno Capela <rncbc@rncbc.org> - 1.9.0
- new upstream release.
* Thu Jun  7 2018 Rui Nuno Capela <rncbc@rncbc.org> - 1.8.2
- new upstream release.
* Tue Dec 23 2014 Rui Nuno Capela <rncbc@rncbc.org> - 1.8.1
- OBS snapshot update.
* Thu Oct  1 2009 Rui Nuno Capela <rncbc@rncbc.org> - 1.4.0
- initial spec-ification
openSUSE Build Service is sponsored by