# # spec file for package faad2 # # Copyright (c) 2020 Packman Team # Copyright (c) 2005-2020 Manfred Tremmel # Copyright (c) 2004-2005 Rainer Lay # Copyright (c) 2003 Henne Vogelsang # # 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.links2linux.org/ # %define major 2 %define lib libfaad %define libname %{lib}%{major} %define _version 2_10_0 %bcond_with xmms # mpeg4ip is built without gmp4player, it makes no sense to build the plugin %bcond_with mpeg4ip Name: faad2 Version: 2.10.0 Release: 1.18 Summary: C library and frontend for decoding MPEG2/4 AAC Summary(de): C Bibliothek und Frontend zum Decodieren von MPEG2/4 AAC License: GPL-2.0-or-later Group: Productivity/Multimedia/Video/Editors and Convertors URL: https://www.audiocoding.com/ Source0: https://github.com/knik0/faad2/archive/%{_version}/%{name}-%{version}.tar.gz Patch0: %{name}-visibility.patch Patch1: faad2-PACKAGE_VERSION.patch BuildRequires: libtool BuildRequires: pkgconfig Requires: %{libname} = %{version} %if %{with mpeg4ip} BuildRequires: SDL-devel BuildRequires: libmp4v2-devel %endif %if %{with xmms} BuildRequires: id3lib-devel BuildRequires: xmms2-devel %endif #Obsoletes: faad2-drm #Provides: faad2-drm %description FAAD 2 is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder, completely written from scratch. FAAD 2 is licensed under the GPL. %description -l de FAAD 2 ist ein LC, MAIN und LTP profile, MPEG2 und MPEG-4 AAC Decoder. %package -n %{libname} Summary: Shared library part of faad2 Summary(de): Bibliotheken zu faad2 Group: System/Libraries Provides: %{lib} = %{version} Provides: lib%{name}_2 = %{version} Obsoletes: lib%{name}_2 < %{version} Provides: libfaad-2 = %{version} Obsoletes: libfaad-2 < %{version} %description -n %{libname} FAAD 2 is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder, completely written from scratch. FAAD 2 is licensed under the GPL. The shared library part of faad2 %description -n %{libname} -l de FAAD 2 ist ein LC, MAIN und LTP profile, MPEG2 und MPEG-4 AAC Decoder. Die Bibliotheken zu faad2 %package -n %{lib}_drm%{major} Summary: DRM shared library part of faad2 Group: System/Libraries Provides: %{lib} = %{version} %description -n %{lib}_drm%{major} FAAD 2 is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder, completely written from scratch. FAAD 2 is licensed under the GPL. The shared library part of faad2-drm %package -n %{lib}-devel Summary: Development files of the FAAD 2 AAC decoder Summary(de): Entwicklerdateien des FAAD 2 AAC Dekoders Group: Development/Libraries/C and C++ Requires: %{libname} = %{version} Requires: %{lib}_drm%{major} = %{version} Requires: %{name} = %{version} Obsoletes: lib%{name}-devel < %{version} Provides: lib%{name}-devel = %{version} Obsoletes: %{name}-devel < %{version} Provides: %{name}-devel = %{version} Obsoletes: %{name}-drm-devel < %{version} Provides: %{name}-drm-devel = %{version} %description -n %{lib}-devel FAAD 2 is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder, completely written from scratch. FAAD 2 is licensed under the GPL. Header files and development documentation for libfaad. %description -n %{lib}-devel -l de FAAD 2 ist ein LC, MAIN und LTP profile, MPEG2 und MPEG-4 AAC Decoder. Header-Dateien und Entwicklerdokumtation zur libfaad. %if %{with xmms} %package -n xmms-%{name} Summary: Xmms faad2 input plugin Summary(de): Xmms faad2 Eingabeplugin Group: Productivity/Multimedia/Sound/Players Requires: %{libname} = %{version} Requires: xmms >= 1.2.8 Obsoletes: %{name}-xmms-plugin < %{version} Provides: %{name}-xmms-plugin = %{version} %description -n xmms-%{name} The plugin read aac files with and without ID3tag(version 2.x), AAC files are MPEG2 or MPEG4 files that could be found in MPEG4 audio files (.mp4). %description -l de -n xmms-%{name} Das plugin für xmms liest AAC Dateien mit und ohne ID3-Tags (version 2.x). AAC Dateien sind MPEG2 oder MPEG4 Dateien, sie finden Verwendung in MPEG4 Audodateien (.mp4). %endif %prep %autosetup -p1 -n %{name}-%{_version} sed -i 's/__PACKAGE_VERSION__/%{version}/' include/neaacdec.h %build autoreconf -ifv export CFLAGS="%{optflags} -fno-strict-aliasing" %configure \ %if %{with xmms} --with-xmms \ %endif --with-pic \ --enable-shared \ --disable-static %make_build %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %post -n %{lib}_drm%{major} -p /sbin/ldconfig %postun -n %{lib}_drm%{major} -p /sbin/ldconfig %files %doc AUTHORS ChangeLog NEWS README TODO %license COPYING %{_bindir}/faad %{_mandir}/man1/faad.1%{?ext_man} %files -n %{libname} %{_libdir}/libfaad.so.%{major}* %files -n %{lib}_drm%{major} %{_libdir}/libfaad_drm.so.%{major}* %files -n %{lib}-devel %{_includedir}/faad.h %{_includedir}/neaacdec.h %{_libdir}/libfaad.so %{_libdir}/libfaad_drm.so %{_libdir}/pkgconfig/%{name}.pc %if %{with xmms} %files -n xmms-%{name} %doc plugins/xmms/README %{_libdir}/xmms/Input/libmp4* %endif %changelog * Sat Nov 28 2020 Luigi Baldoni - Update to version 2.10.0 * mp4read.c: fix stack-buffer-overflow in stringin()/ftypin() * fix heap-buffer-overflow in mp4read.c * Remove non-ASCII characters * Remove trailing whitespace * Check return value of ltp_data. * Restrict SBR frame length to 960 and 1024 samples. * Support object type 29. * Support implicit SBR signaling in frontend. * Fix PNS decoding when only right channel is noise. * Initialize element_id array with an invalid id. * Fix NULL pointer dereferences. * Fix infinite loop in adts_parse. * Fix infinite loop in huffman_getescape. * Check for error after each channel decode. * Check for inconsistent number of channels. - Drop faad2-fix-stack-overflow.patch (merged upstream) - Refresh faad2-PACKAGE_VERSION.patch to make it future-proof * Tue Aug 25 2020 Bjørn Lie - Add faad2-fix-stack-overflow.patch: mp4read.c: fix stack-buffer-overflow in stringin()/ftypin(). * Thu Jun 4 2020 aloisio@gmx.com - Buildrequire pkgconfig to make sure faad2.pc is properly indexed. * Tue Jun 2 2020 Luigi Baldoni - Update to version 2.9.2 * Only use x86-assembly when explicitly on x86 * Use unsigned integers correctly * Initialize pointers that might otherwise not be * update README esp. WRT directory structure * fix compilation without SBR/PS_DEC (#48) * fix compilation with LC_ONLY_DECODER (#47) * fix "inline function 'cfftf1' declared but never defined" compiler warning * fix some inconsistencies in the frontend output * mp4read_open: add check for failed frame buffer allocation * stszin: add check for allocation error and integer overflow * add a pkg-config file * frontend: address compile warning + add missing LF (#50) * library name is faad (#52) * Unbreak PS audio (#51) - Refresh faad2-PACKAGE_VERSION.patch - Spec cleanup * Thu Feb 13 2020 Hillwood Yang - Update version to 2.9.1 * Include stdio.h in libfaad/ps_dec.c for stderr (Michael Fink) * Fix Tille -> Title typo in frontend/mp4read.c (Alexander Thomas) * Build system fixes and code clean-up * Fix compiler warnings and code indentation * Fix compilation with GCC <= 4.7.3 * MSVC solution file clean-up * Fix compilation with GCC 4.7.4 * Fix compilation with MinGW * MSVC 2017 project file update * Fix crash with unsupported MP4 files (NULL pointer dereference, * division by zero) * CVE-2019-6956: ps_dec: sanitize iid_index before mixing * CVE-2018-20196: sbr_fbt: sanitize sbr->M (should not exceed MAX_M) * CVE-2018-20199, CVE-2018-20360: specrec: better handle unexpected * parametric stereo (PS) * CVE-2018-20362, CVE-2018-19504, CVE-2018-20195, CVE-2018-20198, * CVE-2018-20358: syntax.c: check for syntax element inconsistencies * CVE-2018-20194, CVE-2018-19503, CVE-2018-20197, CVE-2018-20357, * CVE-2018-20359, CVE-2018-20361: sbr_hfadj: sanitize frequency band * borders * CVE-2019-15296, CVE-2018-19502: Fix a couple buffer overflows * Prevent crash on SCE followed by CPE * Fix linking with GCC 9 and "-Wl,--as-needed" * Enable the frontend to be built reproducibly - Drop patches: Fix-a-couple-buffer-overflows.patch, syntax.c-check-for-syntax-element-inconsistencies.patch sbr_hfadj-sanitize-frequency-band-borders.patch merged by upstream. - Drop faad2-pic-fix.patch, all files are non-existent which need to be patched. * Thu Aug 29 2019 Bjørn Lie - Add patches from debian fixing CVE-2018-20194 and CVE-2018-20362 and some buffer owerflows: * Fix-a-couple-buffer-overflows.patch * sbr_hfadj-sanitize-frequency-band-borders.patch * syntax.c-check-for-syntax-element-inconsistencies.patch * Sat Dec 30 2017 zaitor@opensuse.org - Update to version 2.8.8: * Add new files to Makefile.am. - Changes from version 2.8.7: * MSVC build fixes. * Fixed a coulple bugs. * Sun Nov 26 2017 zaitor@opensuse.org - Update to version 2.8.6: * No changelog provided by upstream. - Rebase faad2-PACKAGE_VERSION.patch. - Add faad2-pic-fix.patch: Fix non-PIC objects in libmp4ff.a, following this, trim the CFLAGS export down to just - fno-strict-aliasing. - Add %%%%{libname} = %%%%{version} Requires to devel subpackage, yet a change to silence rpmlint. - Add %%%%{lib}_drm%%%%{major} = %%%%{version} Requires aswell to the devel subpackage. * Mon Oct 9 2017 hillwood@opensuse.org - Update to 2.8.5 * another package fix * minor fix to released packages * better autotools support * PNS bug fixed * New MP4 input module * NeAACDecGetVersion: new api function to get version and copyright strings * seeking support for MP4 files * patches and fixed bugs - Drop faad2-reproducible-build.patch, upstream merge it. - Update faad2-visibility.patch. * Sun Feb 26 2017 zaitor@opensuse.org - Add faad2-reproducible-build.patch: Remove '__DATE__' and '__TIME__' to make build more reproducible. Following this, remove sed hack to inject date/time into build. * Mon Jul 14 2014 olaf@aepfle.de - disable xmms also in sle11, fails to compile also there * Thu May 8 2014 crrodriguez@opensuse.org - faad2-visibility.patch Only public symbols should be exported + fix broken C99 test * Tue Apr 3 2012 reddwarf@opensuse.org - Revert previous commit. It just broke something that worked. * Mon Mar 26 2012 hvogel@opensuse.org - We only build xmms for evergreen so only build the xmms plugin up to 11.2 * Tue Jan 24 2012 reddwarf@opensuse.org - Change License tag to SPDX - Remove unneeded autoreconf call - Run spec-cleaner - Remove unneeded BuildRequires * Wed Mar 30 2011 reddwarf@opensuse.org - Remove __DATE__ references to help build-compare * Fri Mar 4 2011 reddwarf@opensuse.org - Remove .la files - Remove bogus libfaad -> libmp4v2-devel dependency - Readd mp4ff (static) lib which it seems was unpackaged by error * Tue Nov 24 2009 lnussel@suse.de - some spec file cleanup - add baselibs.conf * Sat Aug 22 2009 Manfred.Tremmel@iiv.de - removed old compatibility packages * Tue Feb 10 2009 Manfred.Tremmel@iiv.de - update to version 2.7 * Sat Oct 4 2008 Manfred.Tremmel@iiv.de - disabled drm support, had once again problems with aac playback * Sat Sep 20 2008 Manfred.Tremmel@iiv.de - rename of the lib packages * Sat Jul 5 2008 Manfred.Tremmel@iiv.de - update to version 2.6.1 - reenabled drm support, I hope it makes no trouble in this version * Sat Feb 24 2007 Manfred.Tremmel@iiv.de - added a patch from Toni to include mp4ff lib * Sat Feb 17 2007 Manfred.Tremmel@iiv.de - adeed mp4ff.h include * Wed Aug 16 2006 Manfred.Tremmel@iiv.de - removed drm support, makes trouble with multichannel aac * Mon Aug 14 2006 Manfred.Tremmel@iiv.de - update to verion 2.5 * Mon Mar 20 2006 henne@links2linux.de - build against mpeg4ip - fix buildrequires - create mp4player plugin subpackage - dont package libmp4v2 anymore. comes from mpeg4ip. should have never been provided by faad2!!! * Fri Jan 27 2006 Manfred.Tremmel@iiv.de - added fixes to the gcc 4 patch, thanks to Carl Eugen Hoyos * Sun Sep 11 2005 Manfred.Tremmel@iiv.de - added patch to compile with gcc 4 (SUSE 10) * Tue Mar 1 2005 rainer@links2linux.de - added mp3ff_int_types.h * Wed Aug 18 2004 rainer@links2linux.de - readded xmms plugin * Mon Jun 14 2004 rainer@links2linux.de - version 2.0 * Wed Apr 9 2003 henne@links2linux.de - first build and release