12e759
Name:           soundtouch
12e759
Version:        1.4.0
12e759
Release:        9%{?dist}
12e759
Summary:        Audio Processing library for changing Tempo, Pitch and Playback Rates
12e759
License:        LGPLv2+
12e759
Group:          System Environment/Libraries
12e759
URL:            http://www.surina.net/soundtouch/
12e759
Source0:        http://www.surina.net/soundtouch/%{name}-%{version}.tar.gz
12e759
Patch0:         soundtouch-1.4.0-x86_64-asm-broken.patch
12e759
Patch1:         soundtouch-1.4.0-mmx-sse-compile-fix.patch
12e759
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12e759
BuildRequires:  gcc-c++
12e759
12e759
%description
12e759
SoundTouch is a LGPL-licensed open-source audio processing library for
12e759
changing the Tempo, Pitch and Playback Rates of audio streams or
12e759
files. The SoundTouch library is suited for application developers
12e759
writing sound processing tools that require tempo/pitch control
12e759
functionality, or just for playing around with the sound effects.
12e759
12e759
The SoundTouch library source kit includes an example utility
12e759
SoundStretch which allows processing .wav audio files from a
12e759
command-line interface.
12e759
12e759
12e759
%package devel
12e759
Summary:  Libraries, includes, etc to develop soundtouch applications
12e759
Group:    Development/Libraries
12e759
Requires: soundtouch = %{version}-%{release}
12e759
Requires: pkgconfig
12e759
12e759
%description devel
12e759
Libraries, include files, etc you can use to develop soundtouch applications.
12e759
12e759
12e759
%prep
12e759
%setup -q -n %{name}
12e759
%patch0 -p1
12e759
# soundtouch contains mmx / sse versions of the stretching algorithm.
12e759
# to compile these -msse / -mmmx is needed. In x86 we make sure with this patch
12e759
# the needed -msse / -mmmx only gets passed when compiling the relevant
12e759
# object files so that these instructions do not get used in other object
12e759
# files. On non x86 we simply sed the -msse2 out of the original makefiles
12e759
%ifarch %{ix86}
12e759
%patch1 -p1
12e759
%else
12e759
sed -i 's|-O3 -msse2||' source/SoundTouch/Makefile.*
12e759
%endif
12e759
sed -i 's|-O3||' source/SoundStretch/Makefile.*
12e759
# set correct version for .so build
12e759
%define ltversion %(echo %{version} | tr '.' ':')
12e759
sed -i 's/-rpath $(libdir)/-rpath $(libdir) -version-number %{ltversion}/' \
12e759
  source/SoundTouch/Makefile.in
12e759
# cleanup a bit
12e759
chmod -x README.html source/SoundTouch/RateTransposer.cpp
12e759
sed -i 's|\r||g' README.html source/SoundTouch/RateTransposer.cpp
12e759
12e759
12e759
%build
12e759
%configure --disable-dependency-tracking --disable-static --enable-shared
12e759
# Don't use rpath!   
12e759
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
12e759
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
12e759
make %{?_smp_mflags}
12e759
12e759
12e759
%install
12e759
rm -rf $RPM_BUILD_ROOT
12e759
make install DESTDIR=$RPM_BUILD_ROOT
12e759
rm $RPM_BUILD_ROOT%{_libdir}/*.la
12e759
12e759
# remove redundant installed docs
12e759
rm -rf $RPM_BUILD_ROOT%{_prefix}/doc/%{name}
12e759
12e759
# pkgconfig compat links for compat with older (API compatible) releases
12e759
# dunno why upstream keeps changing the pkgconfig name
12e759
ln -s soundtouch-1.4.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libSoundTouch.pc
12e759
ln -s soundtouch-1.4.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/soundtouch-1.0.pc
12e759
12e759
# soundtouch installs an autoheader generated header file which could very
12e759
# well conflict with other autoheader generated header files, so we override
12e759
# this with our own version which contains only the bare minimum:
12e759
echo '#define FLOAT_SAMPLES 1' \
12e759
  > $RPM_BUILD_ROOT%{_includedir}/soundtouch/soundtouch_config.h
12e759
12e759
12e759
%clean
12e759
rm -rf $RPM_BUILD_ROOT
12e759
12e759
12e759
%post -p /sbin/ldconfig
12e759
12e759
%postun -p /sbin/ldconfig 
12e759
12e759
12e759
%files
12e759
%defattr(-,root,root,-)
12e759
%doc COPYING.TXT README.html
12e759
%{_bindir}/soundstretch
12e759
%{_libdir}/lib*.so.*
12e759
12e759
%files devel
12e759
%defattr(-,root,root,-)
12e759
%{_libdir}/lib*.so
12e759
%{_libdir}/pkgconfig/*.pc
12e759
%{_includedir}/%{name}
12e759
%{_datadir}/aclocal/%{name}.m4
12e759
12e759
12e759
%changelog
12e759
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.4.0-9
12e759
- Mass rebuild 2014-01-24
12e759
12e759
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.4.0-8
12e759
- Mass rebuild 2013-12-27
12e759
12e759
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-7
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
12e759
12e759
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-6
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
12e759
12e759
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-5
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
12e759
12e759
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-4
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
12e759
12e759
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-3
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
12e759
12e759
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-2
12e759
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
12e759
12e759
* Sat Feb 14 2009 Hans de Goede <hdegoede@redhat.com> 1.4.0-1
12e759
- New upstream release 1.4.0
12e759
12e759
* Sat Dec 20 2008 Hans de Goede <hdegoede@redhat.com> 1.3.1-11
12e759
- Fix compilation with libtool 2.x
12e759
12e759
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.3.1-10
12e759
- Autorebuild for GCC 4.3
12e759
12e759
* Fri Jan 11 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-9
12e759
- Fix compilation with gcc 4.3
12e759
12e759
* Wed Aug 22 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-8
12e759
- Rebuild for buildId
12e759
- Update license tag for new license guidelines compliance
12e759
12e759
* Mon Feb 19 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-7
12e759
- Fix building with automake-1.10
12e759
12e759
* Tue Aug 29 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-6
12e759
- FE6 Rebuild
12e759
12e759
* Wed Aug  2 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-5
12e759
- Patch makefiles so that our RPM_OPT_FLAGS get used instead of the custom
12e759
  upstream CFLAGS.
12e759
12e759
* Mon Jul 31 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-4
12e759
- Add Requires: pkgconfig to -devel subpackage
12e759
- Replace installed autoheader generated header file with our own version
12e759
  which contains only the nescesarry soundtouch specific defines, thus avoiding
12e759
  possible conflicts with other autoheader generated headers.
12e759
12e759
* Mon Jul 31 2006 Paul F. Johnson <paul@all-the-johnsons.co.uk> 1.3.1-3
12e759
- Add BR libtool
12e759
12e759
* Mon Jul 31 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-2
12e759
- Add BR: automake, because upstream uses symlinks to instead of copies of some
12e759
  needed automake files.
12e759
12e759
* Sat Jul 29 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 1.3.1-1
12e759
- New upstream version 1.3.1
12e759
- Minor specfile cleanups for livna submission.
12e759
- Give the .so a proper version instead of 0.0.0
12e759
- Don't use rpath in soundstretch binary
12e759
12e759
* Thu Aug 26 2004 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.2.1-1
12e759
- initial build.