File soundtouch.spec of Package soundtouch

#
# spec file for package soundtouch
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 1
Name:           soundtouch
Version:        2.1.2
Release:        lp151.48.1
Summary:        Audio Processing Library
License:        LGPL-2.1-or-later
Group:          Productivity/Multimedia/Sound/Editors and Convertors
URL:            https://www.surina.net/soundtouch
Source:         https://gitlab.com/soundtouch/soundtouch/-/archive/%{version}/%{name}-%{version}.tar.gz
Source1:        https://salsa.debian.org/multimedia-team/soundtouch/raw/master/debian/soundstretch.1
Source99:       baselibs.conf
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  dos2unix
BuildRequires:  gcc-c++
BuildRequires:  libtool
BuildRequires:  pkgconfig

%description
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.

* Implements time stretch, pitch shift and sample rate transposing
  routines.
* Supports the 16-bit integer or 32-bit floating point
  PCM mono/stereo formats.
* Capable of real-time audio stream processing (depending on hardware).
* Additional use of assembler level and Intel MMX instruction sets.

%package -n libSoundTouch%{sover}
Summary:        Audio Processing Library
Group:          System/Libraries

%description -n libSoundTouch%{sover}
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.

%package devel
Summary:        Development files for the SoundTouch audio processing library
Group:          Development/Languages/C and C++
Requires:       glibc-devel
Requires:       libSoundTouch%{sover} = %{version}

%description devel
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.

This subpackage contains the header files for building programs with
SoundTouch.

%prep
%setup -q
dos2unix README.html

%build
autoreconf -fvi
%configure \
	--enable-shared \
	--disable-static
make %{?_smp_mflags}

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# Add man page for soundstretch generated by help2man
mkdir -p %{buildroot}%{_mandir}/man1
cp %{SOURCE1} %{buildroot}%{_mandir}/man1

rm -fr %{buildroot}%{_datadir}/doc/%{name}

%post -n libSoundTouch%{sover} -p /sbin/ldconfig
%postun -n libSoundTouch%{sover} -p /sbin/ldconfig

%files
%{_bindir}/*
%{_mandir}/man1/*

%files -n libSoundTouch%{sover}
%license COPYING.TXT
%{_libdir}/libSoundTouch.so.%{sover}*

%files devel
%{_datadir}/aclocal/*.m4
%{_includedir}/%{name}
%{_libdir}/pkgconfig/*.pc
%{_libdir}/*.so

%changelog
* Wed Aug 14 2019 Tomáš Chvátal <tchvatal@suse.com>
- Use dos2unix insted of tr and friends
* Fri Dec  7 2018 Marketa Calabkova <mcalabkova@suse.com>
- Update to version 2.1.2
  * Bugfixes: Fixed potential buffer overwrite bugs in WavFile routines.
    Replaced asserts with runtime exceptions. (CVE-2018-17097, bsc#1108632)
  * Automake: unset ACLOCAL in bootstrap script to avoid error in case
    earlier build script has set it
* Mon Oct 29 2018 Marketa Calabkova <mcalabkova@suse.com>
- Update to version 2.1.0
  * Disable anti-alias filter when switch
    SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER defined
  * Added script for building SoundTouchDll dynamic-link-library for
    GNU platforms
  * Rewrote Beats-per-Minute analysis algorithm for more reliable
    BPM detection
  * Added BPM functions to SoundTouchDll API
  * Migrated Visual Studio project files to MSVC 201x format
  * Replaced function parameter value asserts with runtime exceptions
- Fixed bugs:
  * CVE-2018-17098 (bsc#1108632) -- remote denial of service
  * CVE-2018-17097 (bsc#1108631) -- remote denial of service (double free)
  * CVE-2018-17096 (bsc#1108630) -- remote denial of service
    in BPMDetect.cpp
  * boo#1113134 -- out of date package
- Removed obsolete patch fix-buffer-overflow.patch
* Thu Sep  6 2018 Marketa Calabkova <mcalabkova@suse.com>
- bsc #1103676: CVE-2018-1000223: soundtouch: Heap-based buffer overflow
  added patch fix-buffer-overflow.patch
* Tue Mar 13 2018 jengelh@inai.de
- Trim marketing and old statistics (Pentium) from
  description, and ensure neutrality.
* Sun Feb 18 2018 avindra@opensuse.org
- Update to version 2.0.0
  * Added functions to get initial processing latency, duration
    ratio between the original input and processed output tracks,
    and clarified reporting of input/output batch sizes
  * Fixed issue that added brief sequence of silence to beginning
    of output audio
  * Adjusted algorithm parameters to reduce reverberating effect
    at tempo slowdown
  * Bugfix: Fixed a glitch that could cause negative array indexing
    in quick seek algorithm
  * Bugfix: flush() didn't properly flush final samples from the
    pipeline on 2nd time in case that soundtouch object instance
    was recycled and used for processing a second audio stream.
  * Bugfix: Pi value had incorrect 9th/10th decimals
  * Added C# example application that uses SoundTouch dll library
    for processing MP3 files
- includes 1.9.2:
  * Fix in GNU package configuration
- includes 1.9.1:
  * Improved SoundTouch::flush() function so that it returns
    precisely the desired amount of samples for exact output
    duration control
  * Redesigned quickseek algorithm for improved sound quality when
    using the quickseek mode. The new quickseek algorithm can find
    99%% as good results as the default full-scan mode, while the
    quickseek algorithm is remarkable less CPU intensive.
  * Added adaptive integer divider scaling for improved sound
    quality when using integer processing algorithm
- includes 1.9:
  * Added support for parallel computation support via OpenMP
    primitives for better performance in multicore systems.
    Benchmarks show that achieved parallel processing speedup
    improvement typically range from +30%% (x86 dual-core) to +180%%
    (ARM quad-core). The OpenMP optimizations are disabled by
    default, see OpenMP notes above in this readme file how to
    enabled these optimizations.
  * Android: Added support for Android devices featuring X86 and
    MIPS CPUs, in addition to ARM CPUs.
  * Android: More versatile Android example application that
    processes WAV audio files with SoundTouch library
  * Replaced Windows-like 'BOOL' types with native 'bool'
  * Changed documentation token to "dist_doc_DATA" in Makefile.am
  * Miscellaneous small fixes and improvements
- cleanup with spec-cleaner
- other spec fixes:
  * switch to https
  * link directly to man page taken from debian, and refresh it
  * macroify sover, bump from 0 to 1
* Sun Apr  5 2015 p.drouand@gmail.com
- Add baselibs.conf in sources list; fix for Factory
* Wed Mar 25 2015 p.drouand@gmail.com
- Update to version 1.8.0
  * Added support for multi-channel audio processing
  * Added support for cubic and shannon interpolation for rate and
    pitch shift effects besides the original linear interpolation,
    to reduce aliasing at high frequencies due to interpolation.
    Cubic interpolation is used as default for floating point processing,
    and linear interpolation for integer processing.
  * Fixed bug in anti-alias filtering that limited stop-band attenuation
    to -10 dB instead of <-50dB, and increased filter length from 32 to 64
    taps to further reduce aliasing due to frequency folding.
  * Performance improvements in cross-correlation algorithm
  * Other bug and compatibility fixes
- Remove obsolete AUTHORS and %%clean sections
* Fri Jan 25 2013 sbrabec@suse.cz
- Update to version 1.7.1:
  * Added files for Android compilation
  * Sound quality improvements
  * Improved flush() to adjust output sound stream duration to
    match better with ideal duration
  * Rewrote x86 cpu feature check to resolve compatibility problems
  * Configure script automatically checks if CPU supports mmx & sse
    compatibility for GNU platform, and the script support now
    "--enable-x86-optimizations" switch to allow disabling
    x86-specific optimizations.
  * Revised #define conditions for 32bit/64bit compatibility
  * gnu autoconf/automake script compatibility fixes
  * Tuned beat-per-minute detection algorithm
- Updated man page from Debian unstable.
* Sun Nov 20 2011 coolo@suse.com
- add libtool as buildrequire to avoid implicit dependency
* Wed Aug 10 2011 ampsaltis@gmail.com
- New upstream version 1.6.0.
- Changes:
  * Added automatic cutoff threshold adaptation to beat detection
    routine to better adapt BPM calculation to different types of
    music
  * Retired 3DNow! optimization support as 3DNow! is nowadays
    obsoleted and assembler code is nuisance to maintain
  * Retired "configure" file from source code package due to
    autoconf/automake versio conflicts, so that it is from now on to
    be generated by invoking "boostrap" script that uses locally
    available toolchain version for generating the "configure" file
  * Resolved namespace/label naming conflicts with other libraries by
    replacing global labels such as INTEGER_SAMPLES with more
    specific SOUNDTOUCH_INTEGER_SAMPLES etc.
  * Updated windows build scripts & project files for Visual Studio
    2008 support
  * Updated SoundTouch.dll API for .NET compatibility
  * Added API for querying nominal processing input & output sample
    batch sizes
* Thu Apr 14 2011 toddrme2178@gmail.com
- added 32bit compatibility libraries
* Thu Dec  9 2010 davejplater@gmail.com
- Update to version 1.5.0, added manpage for sounstrech
- Upstream changes :
  * Added normalization to correlation calculation and improvement
  automatic seek/sequence parameter calculation to improve sound
  quality
  * Fixes in compilation scripts for non-Intel platforms
  * Added Dynamic-Link-Library (DLL) version of SoundTouch library
  build, provided with Delphi/Pascal wrapper for calling the dll
  routines
  * Added #define PREVENT_CLICK_AT_RATE_CROSSOVER that prevents a
  click artifact when crossing the nominal pitch from either
  positive to negative side or vice versa
  * Other minor fixes & code cleanup
- Bugfixes :
  * Fixed negative array indexing in quick seek algorithm
  * FIR autoalias filter running too far in processing buffer
  * Check against zero sample count in rate transposing
  * Fix for x86-64 support: Removed pop/push instructions from the
  cpu detection algorithm.
  * Check against empty buffers in FIFOSampleBuffer
* Thu Dec  9 2010 davejplater@gmail.com
- Fixed rpmlint warnings and error.
* Thu Dec  9 2010 rguenther@novell.com
- drop bogus libstdc++ BuildRequires
* Thu Oct  1 2009 lnussel@suse.de
- fix library package to not depend on main package and glibc-devel
* Thu May  7 2009 sbrabec@suse.cz
- Updated to version 1.4.0:
  * Improved sound quality by automatic calculation of time stretch
    algorithm processing parameters according to tempo setting
  * Moved BPM detection routines from SoundStretch application into
    SoundTouch library
  * Bugfixes: Usage of uninitialied variables, GNU build scripts,
    compiler errors due to 'const' keyword mismatch.
  * Source code cleanup
- Split according to shared library packaging policy.
* Sat Apr  4 2009 crrodriguez@suse.de
- use --enable-shared and disable static libraries
* Thu Nov 22 2007 tiwai@suse.de
- fix build with gcc 4.3
* Wed Jul  4 2007 tiwai@suse.de
- fix build with the recent gcc
- fix build on architectures without SSE
- fix Makefile.am and removed hacks for autoreconf in spec file
* Thu Jun 21 2007 sbrabec@suse.cz
- New SuSE package, version 1.3.1.
openSUSE Build Service is sponsored by