7a4656
7a4656
Name:           webrtc-audio-processing
7a4656
Version:        0.3
7a4656
Release:        1%{?dist}
7a4656
Summary:        Library for echo cancellation
7a4656
7a4656
License:        BSD
7a4656
URL:            http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/
7a4656
Source0:        http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/%{name}-%{version}.tar.xz
7a4656
7a4656
Patch0:         webrtc-fix-typedefs-on-other-arches.patch
7a4656
# WIP to only explicitly add -mfpu=neon where needed for neon runtime detection
7a4656
# currently doesn't work due to %%configure injecting incompatible CFLAGS atm, see below
7a4656
Patch1:         webrtc-audio-processing-0.3-neon.patch
7a4656
# bz#1336466, https://bugs.freedesktop.org/show_bug.cgi?id=95738
7a4656
Patch4:         webrtc-audio-processing-0.2-big-endian.patch
7a4656
7a4656
BuildRequires: automake libtool
7a4656
7a4656
%description
7a4656
%{name} is a library derived from Google WebRTC project that 
7a4656
provides echo cancellation functionality. This library is used by for example
7a4656
PulseAudio to provide echo cancellation.
7a4656
7a4656
%package        devel
7a4656
Summary:        Development files for %{name}
7a4656
Requires:       %{name}%{?_isa} = %{version}-%{release}
7a4656
7a4656
%description    devel
7a4656
The %{name}-devel package contains libraries and header
7a4656
files for developing applications that use %{name}.
7a4656
7a4656
%prep
7a4656
%setup -q
7a4656
%patch0 -p1 -b .typedef
7a4656
%patch1 -p1 -b .neon
7a4656
%patch4 -p1 -b .bigendian
7a4656
7a4656
# for patch1
7a4656
autoreconf -fi
7a4656
7a4656
7a4656
%build
7a4656
7a4656
%ifarch %{arm}
7a4656
# disable neon support
7a4656
# can't unconditionally enable neon, and --enable-neon=runtime is broken (WebRtc_GetCPUFeaturesARM is unimplemented)
7a4656
%global neon --enable-neon=no
7a4656
## hack to ensure -mfpu=neon flag appears last when using --enable-neon=yes|runtime
7a4656
#export CFLAGS="%{optflags} -mfpu=neon"
7a4656
#export CXXFLAGS="%{optflags} -mfpu=neon"
7a4656
## except that enables it for *all* objects, not just the ones we want (see patch1),
7a4656
## seems CFLAGS always trumps project flags, see also:
7a4656
## http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
7a4656
%endif
7a4656
7a4656
%configure \
7a4656
  %{?neon} \
7a4656
  --disable-silent-rules \
7a4656
  --disable-static
7a4656
7a4656
make %{?_smp_mflags}
7a4656
7a4656
7a4656
%install
7a4656
make install DESTDIR=%{buildroot} INSTALL="install -p"
7a4656
7a4656
## unpackaged files
7a4656
rm -fv %{buildroot}%{_libdir}/lib*.la
7a4656
7a4656
%post -p /sbin/ldconfig
7a4656
%postun -p /sbin/ldconfig
7a4656
7a4656
7a4656
%files
7a4656
%doc NEWS AUTHORS README.md
7a4656
%license COPYING
7a4656
%{_libdir}/libwebrtc_audio_processing.so.1*
7a4656
7a4656
%files devel
7a4656
%{_libdir}/libwebrtc_audio_processing.so
7a4656
%{_libdir}/pkgconfig/webrtc-audio-processing.pc
7a4656
%{_includedir}/webrtc_audio_processing/
7a4656
7a4656
7a4656
%changelog
7a4656
* Mon Jul 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.3-1
7a4656
- 0.3
7a4656
7a4656
* Fri May 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.2-7
7a4656
- better/upstreamable x86_msse2.patch
7a4656
7a4656
* Fri May 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.2-6
7a4656
- simpler/upstreamable no_undefined.patch (fdo#96244)
7a4656
7a4656
* Wed May 25 2016 Than Ngo <than@redhat.com> - 0.2-5
7a4656
- add url to upstream bug report
7a4656
7a4656
* Tue May 24 2016 Than Ngo <than@redhat.com> - 0.2-4
7a4656
- add support big endian
7a4656
7a4656
* Mon May 16 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.2-3
7a4656
- ExclusiveArch primary archs, FTBFS on big endian arches (#1336466)
7a4656
7a4656
* Mon May 16 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.2-2
7a4656
- link w/ --no-undefined
7a4656
- fix x86 sse2 runtime detection
7a4656
7a4656
* Thu May 12 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.2-1
7a4656
- webrtc-audio-processing-0.2 (#1335536)
7a4656
- %%files: track ABI/API closer
7a4656
7a4656
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-11
7a4656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
7a4656
7a4656
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-10
7a4656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
7a4656
7a4656
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.1-9
7a4656
- Rebuilt for GCC 5 C++11 ABI change
7a4656
7a4656
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-8
7a4656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
7a4656
7a4656
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-7
7a4656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
7a4656
7a4656
* Wed Feb 26 2014 Debarshi Ray <rishi@fedoraproject.org> - 0.1-5
7a4656
- Fix FTBFS on non-x86/arm
7a4656
  Resolves: #1068823
7a4656
7a4656
* Tue Jan 28 2014 Kyle McMartin <kyle@fedoraproject.org> - 0.1-6
7a4656
- webrtc-fix-typedefs-on-other-arches.patch: fix ftbfs on non-x86/arm due to
7a4656
  a build #error in typedefs.h, however, the defines are not used anywhere in
7a4656
  the code. Fixes build on ppc{,64}, s390x, and aarch64.
7a4656
7a4656
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.1-4
7a4656
- Mass rebuild 2013-12-27
7a4656
7a4656
* Thu Jul 11 2013 Debarshi Ray <rishi@fedoraproject.org> 0.1-4
7a4656
- Rebuilt to fix broken binary possibly caused by broken toolchain
7a4656
7a4656
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-3
7a4656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7a4656
7a4656
* Tue Oct 9 2012 Dan HorĂ¡k <dan[at]danny.cz> 0.1-2
7a4656
- set ExclusiveArch x86 and ARM for now
7a4656
7a4656
* Fri Oct 5 2012 Christian Schaller <christian.schaller@gmail.com> 0.1-1
7a4656
- Initial Fedora spec.