4ddf16
Summary:	Library for reading and writing sound files
4ddf16
Name:		libsndfile
4ddf16
Version:	1.0.31
06afe3
Release:	7%{?dist}
4ddf16
License:	LGPLv2+ and GPLv2+ and BSD
4ddf16
URL:		http://libsndfile.github.io/libsndfile/
4ddf16
Source0:        https://github.com/libsndfile/libsndfile/releases/download/%{version}/libsndfile-%{version}.tar.bz2
4ddf16
Patch0:		libsndfile-1.0.25-system-gsm.patch
4ddf16
Patch1:		libsndfile-1.0.25-zerodivfix.patch
4ddf16
# from upstream, for <= 1.0.31, rhbz#1985029
4ddf16
Patch2:		libsndfile-1.0.31-deb669ee.patch
06afe3
# from upstream, fix #2030508, for <= 1.0.31
06afe3
Patch3:		libsndfile-1.0.31-ced91d7b.patch
4ddf16
BuildRequires:  gcc-c++
4ddf16
BuildRequires:	alsa-lib-devel
4ddf16
BuildRequires:	flac-devel
4ddf16
BuildRequires:	gcc
4ddf16
BuildRequires:	libogg-devel
4ddf16
BuildRequires:	libvorbis-devel
4ddf16
BuildRequires:	pkgconfig
4ddf16
BuildRequires:	sqlite-devel
4ddf16
BuildRequires:	gsm-devel
4ddf16
BuildRequires:	libtool
4ddf16
BuildRequires:	make
4ddf16
BuildRequires:	python3
4ddf16
BuildRequires:  opus-devel
4ddf16
4ddf16
4ddf16
%description
4ddf16
libsndfile is a C library for reading and writing sound files such as
4ddf16
AIFF, AU, WAV, and others through one standard interface. It can
4ddf16
currently read/write 8, 16, 24 and 32-bit PCM files as well as 32 and
4ddf16
64-bit floating point WAV files and a number of compressed formats. It
4ddf16
compiles and runs on *nix, MacOS, and Win32.
4ddf16
4ddf16
4ddf16
%package devel
4ddf16
Summary:	Development files for libsndfile
4ddf16
Requires:	%{name}%{?_isa} = %{version}-%{release} pkgconfig
4ddf16
4ddf16
4ddf16
%description devel
4ddf16
libsndfile is a C library for reading and writing sound files such as
4ddf16
AIFF, AU, WAV, and others through one standard interface.
4ddf16
This package contains files needed to develop with libsndfile.
4ddf16
4ddf16
4ddf16
%package utils
4ddf16
Summary:	Command Line Utilities for libsndfile
4ddf16
Requires:	%{name} = %{version}-%{release}
4ddf16
4ddf16
4ddf16
%description utils
4ddf16
libsndfile is a C library for reading and writing sound files such as
4ddf16
AIFF, AU, WAV, and others through one standard interface.
4ddf16
This package contains command line utilities for libsndfile.
4ddf16
4ddf16
4ddf16
%prep
4ddf16
%setup -q
4ddf16
%patch0 -p1 -b .system-gsm
4ddf16
rm -r src/GSM610
4ddf16
# TODO: check if this patch is still needed
4ddf16
%patch1 -p1 -b .zerodivfix
4ddf16
%patch2 -p1 -b .deb669ee
06afe3
%patch3 -p1 -b .ced91d7b
4ddf16
4ddf16
%build
4ddf16
autoreconf -I M4 -fiv # for system-gsm patch
4ddf16
%configure \
4ddf16
	--disable-dependency-tracking \
4ddf16
	--enable-sqlite \
4ddf16
	--enable-alsa \
4ddf16
	--enable-largefile \
4ddf16
	--disable-static
4ddf16
4ddf16
# Get rid of rpath
4ddf16
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
4ddf16
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
4ddf16
4ddf16
%make_build
4ddf16
4ddf16
4ddf16
%install
4ddf16
%make_install
4ddf16
rm -rf __docs
4ddf16
mkdir __docs
4ddf16
cp -pR $RPM_BUILD_ROOT%{_docdir}/%{name}/* __docs
4ddf16
rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
4ddf16
find %{buildroot} -type f -name "*.la" -delete
4ddf16
4ddf16
# fix multilib issues
4ddf16
mv %{buildroot}%{_includedir}/sndfile.h \
4ddf16
   %{buildroot}%{_includedir}/sndfile-%{__isa_bits}.h
4ddf16
4ddf16
cat > %{buildroot}%{_includedir}/sndfile.h <
4ddf16
#include <bits/wordsize.h>
4ddf16
4ddf16
#if __WORDSIZE == 32
4ddf16
# include "sndfile-32.h"
4ddf16
#elif __WORDSIZE == 64
4ddf16
# include "sndfile-64.h"
4ddf16
#else
4ddf16
# error "unexpected value for __WORDSIZE macro"
4ddf16
#endif
4ddf16
EOF
4ddf16
4ddf16
%if 0%{?rhel} != 0
4ddf16
rm -f %{buildroot}%{_bindir}/sndfile-jackplay
4ddf16
%endif
4ddf16
4ddf16
4ddf16
%check
4ddf16
LD_LIBRARY_PATH=$PWD/src/.libs make check
4ddf16
4ddf16
4ddf16
%ldconfig_scriptlets
4ddf16
4ddf16
4ddf16
%files
4ddf16
%{!?_licensedir:%global license %%doc}
4ddf16
%license COPYING
4ddf16
%doc AUTHORS README NEWS
4ddf16
%{_libdir}/%{name}.so.*
4ddf16
4ddf16
%files utils
4ddf16
%{_bindir}/sndfile-cmp
4ddf16
%{_bindir}/sndfile-concat
4ddf16
%{_bindir}/sndfile-convert
4ddf16
%{_bindir}/sndfile-deinterleave
4ddf16
%{_bindir}/sndfile-info
4ddf16
%{_bindir}/sndfile-interleave
4ddf16
%{_bindir}/sndfile-metadata-get
4ddf16
%{_bindir}/sndfile-metadata-set
4ddf16
%{_bindir}/sndfile-play
4ddf16
%{_bindir}/sndfile-salvage
4ddf16
%{_mandir}/man1/sndfile-cmp.1*
4ddf16
%{_mandir}/man1/sndfile-concat.1*
4ddf16
%{_mandir}/man1/sndfile-convert.1*
4ddf16
%{_mandir}/man1/sndfile-deinterleave.1*
4ddf16
%{_mandir}/man1/sndfile-info.1*
4ddf16
%{_mandir}/man1/sndfile-interleave.1*
4ddf16
%{_mandir}/man1/sndfile-metadata-get.1*
4ddf16
%{_mandir}/man1/sndfile-metadata-set.1*
4ddf16
%{_mandir}/man1/sndfile-play.1*
4ddf16
%{_mandir}/man1/sndfile-salvage.1*
4ddf16
4ddf16
%files devel
4ddf16
%doc __docs ChangeLog
4ddf16
%{_includedir}/sndfile.h
4ddf16
%{_includedir}/sndfile.hh
4ddf16
%{_includedir}/sndfile-%{__isa_bits}.h
4ddf16
%{_libdir}/%{name}.so
4ddf16
%{_libdir}/pkgconfig/sndfile.pc
4ddf16
4ddf16
4ddf16
%changelog
06afe3
* Wed Jan 12 2022 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-7
06afe3
- fix heap buffer overflow in flac (#2030508)
06afe3
4ddf16
* Wed Aug 11 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-6
4ddf16
- a crafted wav file could cause heap buffer overflow that allowed an arbitrary code execution(#1985029)
4ddf16
4ddf16
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
4ddf16
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
4ddf16
  Related: rhbz#1991688
4ddf16
4ddf16
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
4ddf16
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
4ddf16
4ddf16
* Mon Feb 22 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-3
4ddf16
- add opus-devel BR to satisfy configure requirements check (#1931251)
4ddf16
4ddf16
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 1.0.31-2
4ddf16
- Use make macros
4ddf16
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
4ddf16
4ddf16
* Wed Jan 27 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-1
4ddf16
- updated to 1.0.31
4ddf16
4ddf16
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-14
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4ddf16
4ddf16
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-13
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
4ddf16
4ddf16
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-12
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
4ddf16
4ddf16
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-11
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
4ddf16
4ddf16
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-10
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
4ddf16
4ddf16
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-9
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
4ddf16
4ddf16
* Wed Mar 07 2018 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-8
4ddf16
- add gcc buildrequire
4ddf16
4ddf16
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-7
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
4ddf16
4ddf16
* Thu Aug 24 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-6
4ddf16
- heap-based Buffer Overflow in psf_binheader_writef function (#1483140, CVE-2017-12562)
4ddf16
4ddf16
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-5
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
4ddf16
4ddf16
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-4
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
4ddf16
4ddf16
* Wed Jun 21 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-3
4ddf16
- fix buffer overflow in aiff (CVE-2017-6892,rhbz#1463328)
4ddf16
4ddf16
* Mon Jun 05 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-2
4ddf16
- fix flac and pcm buffer overflows (CVE-2017-8361,CVE-2017-8362,CVE-2017-8363,CVE-2017-8365)
4ddf16
4ddf16
* Tue Apr 11 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-1
4ddf16
- updated to 1.0.28
4ddf16
- fix possible buffer overflow when parsing crafted ID3 tags (#1440758, CVE-2017-7586)
4ddf16
- fix possible buffer overflow when parsing crafted flac file (#1440756, CVE-2017-7585)
4ddf16
4ddf16
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.27-2
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
4ddf16
4ddf16
* Fri Nov 11 2016 Michal Hlavinka <mhlavink@redhat.com> - 1.0.27-1
4ddf16
- updated to 1.0.27
4ddf16
4ddf16
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.25-20
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
4ddf16
4ddf16
* Fri Nov 06 2015 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-19
4ddf16
- fix incomplete patch for CVE-2015-7805
4ddf16
4ddf16
* Fri Nov 06 2015 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-18
4ddf16
- fix CVE-2015-7805: Heap overflow vulnerability when parsing specially
4ddf16
  crafted AIFF header
4ddf16
4ddf16
* Thu Aug 27 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 1.0.25-17
4ddf16
- Use __isa_bits macro instead of list of 64-bit architectures
4ddf16
4ddf16
* Sun Jul 19 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.25-16
4ddf16
- Fix FTBFS
4ddf16
- Use %%license
4ddf16
4ddf16
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-15
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
4ddf16
4ddf16
* Tue Jan 13 2015 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-14
4ddf16
- fix CVE-2014-9496: 2 buffer overruns in sd2_parse_rsrc_fork (#1178840)
4ddf16
- division by zero leading to denial of service in psf_fwrite (#1177254)
4ddf16
4ddf16
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-13
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
4ddf16
4ddf16
* Sat Aug 02 2014 Kalev Lember <kalevlember@gmail.com> - 1.0.25-12
4ddf16
- Fix up previous commit
4ddf16
4ddf16
* Sat Aug  2 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.25-11
4ddf16
- Modernise spec
4ddf16
- Generic 32/64bit platform detection
4ddf16
4ddf16
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-10
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
4ddf16
4ddf16
* Mon Jan 13 2014 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-9
4ddf16
- fix ppc64le build (#1051639)
4ddf16
4ddf16
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-8
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
4ddf16
4ddf16
* Mon Jun 03 2013 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-7
4ddf16
- fix support for aarch64, another part (#969831)
4ddf16
4ddf16
* Wed Mar 27 2013 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-6
4ddf16
- fix support for aarch64 (#925887)
4ddf16
4ddf16
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-5
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
4ddf16
4ddf16
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-4
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
4ddf16
4ddf16
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.25-3
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
4ddf16
4ddf16
* Sat Nov 12 2011 Ville Skyttä <ville.skytta@iki.fi> - 1.0.25-2
4ddf16
- Patch to use system libgsm instead of a bundled copy.
4ddf16
- Make main package dep in -devel ISA qualified.
4ddf16
- Drop -octave Provides (not actually built with octave > 3.0).
4ddf16
- Don't build throwaway static lib.
4ddf16
- Run test suite during build.
4ddf16
4ddf16
* Thu Jul 14 2011 Michal Hlavinka <mhlavink@redhat.com> - 1.0.25-1
4ddf16
- Update to 1.0.25
4ddf16
- fixes integer overflow by processing certain PAF audio files (#721240)
4ddf16
4ddf16
* Sun Mar 27 2011 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.24-1
4ddf16
- Update to 1.0.24
4ddf16
4ddf16
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.23-2
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
4ddf16
4ddf16
* Sat Oct 16 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.23-1
4ddf16
- Update to 10.0.23
4ddf16
4ddf16
* Tue Oct 05 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.22-1
4ddf16
- Update to 10.0.22
4ddf16
4ddf16
* Tue May 11 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.21-1
4ddf16
- Update to 10.0.21
4ddf16
- Do not include the static library in the package (RHBZ#556074)
4ddf16
- Remove BR on jack since sndfile-jackplay is not provided anymore
4ddf16
4ddf16
* Mon Feb  1 2010 Stepan Kasal <skasal@redhat.com> - 1.0.20-5
4ddf16
- Do not build against Jack on RHEL
4ddf16
- Fix the Source0: URL
4ddf16
- Fix the licence tag
4ddf16
4ddf16
* Sat Nov 14 2009 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.20-4
4ddf16
- Split utils into a subpackage
4ddf16
4ddf16
* Sat Nov 14 2009 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 1.0.20-3
4ddf16
- Add FLAC/Ogg/Vorbis support (BR: libvorbis-devel)
4ddf16
- Make build verbose
4ddf16
- Remove rpath
4ddf16
- Fix ChangeLog encoding
4ddf16
- Move the big Changelog to the devel package
4ddf16
4ddf16
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.20-2
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
4ddf16
4ddf16
* Sat Jun 06 2009 Lennart Poettering <lpoetter@redhat.com> - 1.0.20-1
4ddf16
- Updated to 1.0.20
4ddf16
4ddf16
* Tue Mar 03 2009 Robert Scheck <robert@fedoraproject.org> - 1.0.17-8
4ddf16
- Rebuilt against libtool 2.2
4ddf16
4ddf16
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.17-7
4ddf16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
4ddf16
4ddf16
* Sat Oct 25 2008 Andreas Thienemann <andreas@bawue.net> - 1.0.17-6
4ddf16
- Removed spurious #endif in the libsndfile.h wrapper. Thx to Edward
4ddf16
  Sheldrake for finding it. Fixes #468508.
4ddf16
- Fix build for autoconf-2.63
4ddf16
4ddf16
* Thu Oct 23 2008 Andreas Thienemann <andreas@bawue.net> - 1.0.17-5
4ddf16
- Fixed multilib conflict. #342401
4ddf16
- Made flac support actually work correctly.
4ddf16
4ddf16
* Thu Aug  7 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.0.17-4
4ddf16
- fix license tag
4ddf16
4ddf16
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0.17-3
4ddf16
- Autorebuild for GCC 4.3
4ddf16
4ddf16
* Thu Sep 20 2007 Andreas Thienemann <andreas@bawue.net> - 1.0.17-2
4ddf16
- Adding FLAC support to libsndfile courtesy of gentoo, #237575
4ddf16
- Fixing CVE-2007-4974. Thanks to the gentoo people for the patch, #296221
4ddf16
4ddf16
* Fri Sep 08 2006 Andreas Thienemann <andreas@bawue.net> - 1.0.17-1
4ddf16
- Updated to 1.0.17
4ddf16
4ddf16
* Sun Apr 30 2006 Andreas Thienemann <andreas@bawue.net> - 1.0.16-1
4ddf16
- Updated to 1.0.16
4ddf16
4ddf16
* Thu Mar 30 2006 Andreas Thienemann <andreas@bawue.net> - 1.0.15-1
4ddf16
- Updated to 1.0.15
4ddf16
4ddf16
* Thu Mar 16 2006 Dams <anvil[AT]livna.org> - 1.0.14-1.fc5
4ddf16
- Updated to 1.0.14
4ddf16
- Dropped patch0
4ddf16
4ddf16
* Thu May 12 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.0.11-3
4ddf16
- rebuilt
4ddf16
4ddf16
* Sat Mar  5 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.0.11-2
4ddf16
- Fix format string bug (#149863).
4ddf16
- Drop explicit Epoch 0.
4ddf16
4ddf16
* Sat Dec  4 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:1.0.11-0.fdr.1
4ddf16
- Update to 1.0.11.
4ddf16
4ddf16
* Wed Oct 13 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:1.0.10-0.fdr.1
4ddf16
- Update to 1.0.10, update URLs, include ALSA support.
4ddf16
- Disable dependency tracking to speed up the build.
4ddf16
- Add missing ldconfig invocations.
4ddf16
- Make -devel require pkgconfig.
4ddf16
- Include developer docs in -devel.
4ddf16
- Provide -octave in main package, own more related dirs.
4ddf16
- Bring specfile up to date with current spec templates.
4ddf16
4ddf16
* Sat Apr 12 2003 Dams <anvil[AT]livna.org>
4ddf16
- Initial build.