# # spec file for package chromaprint # # Copyright (c) 2023 SUSE LLC # Copyright (c) 2012 Pascal Bleser # # 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 soname 1 Name: chromaprint Version: 1.5.1 Release: 4.1 Summary: Audio Fingerprinting Library License: LGPL-2.1-only AND MIT URL: https://acoustid.org/chromaprint Source0: https://github.com/acoustid/chromaprint/releases/download/v%{version}/%{name}-%{version}.tar.gz Source1: baselibs.conf BuildRequires: cmake BuildRequires: fftw3-devel BuildRequires: gcc-c++ BuildRequires: libtag-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(libavcodec) < 59 BuildRequires: pkgconfig(libavformat) < 59 BuildRequires: pkgconfig(libavresample) BuildRequires: pkgconfig(libavutil) < 58 BuildRequires: pkgconfig(libswresample) < 57 %description Chromaprint is the core component of the Acoustid project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source. %package -n libchromaprint%{soname} Summary: Audio Fingerprinting Library License: LGPL-2.1-or-later %description -n libchromaprint%{soname} Chromaprint is the core component of the Acoustid project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source. %package -n libchromaprint-devel Summary: Audio Fingerprinting Library License: LGPL-2.1-or-later Requires: fftw3-devel Requires: libchromaprint%{soname} = %{version} Requires: libtag-devel %description -n libchromaprint-devel Chromaprint is the core component of the Acoustid project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source. %package fpcalc Summary: Chromaprint Audio Fingerprinting Command Line Tool License: GPL-2.0-or-later Requires: libchromaprint%{soname} = %{version} Provides: fpcalc = %{version} %description fpcalc Chromaprint is the core component of the Acoustid project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source. This package contains fpcalc, a command-line tool to perform Chromaprint fingerprinting. %prep %autosetup -p1 %build %cmake \ -DCMAKE_SKIP_RPATH=TRUE \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \ -DUSE_AVFFT=ON \ -DBUILD_TESTS=OFF -DBUILD_TOOLS=ON %make_build %install %cmake_install %post -n libchromaprint%{soname} -p /sbin/ldconfig %postun -n libchromaprint%{soname} -p /sbin/ldconfig %files -n libchromaprint%{soname} %license LICENSE.md %doc NEWS.txt README.md %{_libdir}/libchromaprint.so.%{soname} %{_libdir}/libchromaprint.so.%{soname}.* %files -n libchromaprint-devel %{_includedir}/chromaprint.h %{_libdir}/libchromaprint.so %{_libdir}/pkgconfig/libchromaprint.pc %files fpcalc %{_bindir}/fpcalc %changelog * Wed May 3 2023 Bjørn Lie - Drop 8ccad69.patch and 82781d02.patch, and add back pkgconfig(libavresample) BuildRequires. Also limit package to build against ffmpeg-4 and older. * Thu Apr 27 2023 Dominique Leuenberger - Add 82781d02.patch: FFmpeg 5.x: Some files return error codes when scanning. * Fri Nov 11 2022 Bjørn Lie - Add 8ccad69.patch: Upgrade code to FFmpeg 5.x APIs. Following this, drop pkgconfig(libavresample) BuildRequires: No longer used. * https://github.com/acoustid/chromaprint/commit/8ccad69.patch * Mon Jul 11 2022 Dirk Müller - update to 1.5.1: * No functional source code changes. * Fixed some compiler warnings. * Rebuilt the fpcalc binaries with FFmpeg 4.4.1. * Added support for fat binaries on macOS, with support for both Intel and Apple silicon. * Mon Jul 27 2020 Matthias Eliasson - Update to 1.5.0: * Added support for fpcalc -raw -signed, which helps with easier PostgreSQL integration * Added support for using libavresample instead of libswresample * Fixed possible crash in chromaprint_decode_fingerprint * Fixed unit tests on big endian CPUs - Run spec-cleaner * Remove package groups * Use license macro * Fri Mar 8 2019 olaf@aepfle.de - Remove bcond_without and use ffmpeg unconditional * Wed Jan 24 2018 avindra@opensuse.org - Update to 1.4.3: * Allow one packet to have decoding error * Print output even if there is a decoding error, exit with error code 3 instead of 2 in such case * Add new option -ignore-errors to change the error code 3 to 0 * Add new option -algorithm NUM * Periodically flush output when working on a stream - drop chromaprint-ffmpeg-pkgconfig.patch * fixed upstream - Switch to https for URL - Source moved to github - cleanup with spec-cleaner * Tue Jul 25 2017 jengelh@inai.de - Fix RPM groups. * Mon Jul 17 2017 alarrosa@suse.com - Update to 1.4.2: * Fixed invalid memory access when decoding base64-encoded fingerprints. * Removed unnecessary library dependencies libchromaprint to avoid circular dependency problems with FFmpeg. - Rebase chromaprint-ffmpeg-pkgconfig.patch - Drop chromaprint-ffmpeg-API.patch which isn't needed anymore. - Update to 1.4.1: * Restored the -v/-version parameter for fpcalc that got accidentally removed in 1.4. * Fixed processing of some short audio files. They were ignored in 1.4. * The DURATION field in the default output of fpcalc is now printed as an integer again. * Added missing version number to libchromaprint.pc. * Linux fpcalc builds are now fully static. - Update to 1.4.0: * Fully streaming audio processing without any post-processing step for the fingerprint generation. * Many performance optimizations. Especially when processing long streams, operations should be faster and use less memory. * C++11 compiler is now required for building the library. * The public C API now uses standard fixed-size int types from stdint.h (breaks backwards compatibility). * All code written for the library is now distributed under the MIT license. * Kiss FFT is now included with the library and automatically used if no other FFT library is found. * Added support for using the FFTW3F version of FFTW3. * Boost is no longer used. - Update to 1.3.2: * Fixed crash on an invalid audio file that FFmpeg could not decode. * Wed Feb 1 2017 adam.majer@suse.de - use individual libboost-*-devel packages instead of boost-devel * Thu Jul 28 2016 olaf@aepfle.de - Remove unused Provides libchromaprint-with-ffmpeg * Fri Apr 1 2016 olaf@aepfle.de - Restore support for libswresample/libavresample (bsc#973555) - Remove usage of deprecated API chromaprint-ffmpeg-API.patch * Mon Feb 15 2016 jengelh@inai.de - Update to new upstream release 1.3.1 * Support for ffmpeg 3.x * You can use use "-length 0" in fpcalc to get the full fingerprint * New function chromaprint_get_fingerprint_hash for calculating SimHash from the fingerprint data * Fri Dec 18 2015 tchvatal@suse.com - Remove needless conditional for the libdir which is in the macro * Wed Dec 9 2015 olaf@aepfle.de - Use pkg-config to detect ffmpeg in cmake chromaprint-ffmpeg-pkgconfig.patch - Add bcond_without to use ffmpeg unconditional * Tue Dec 8 2015 olaf@aepfle.de - Remove broken libffmpeg requires in devel pkg * Tue Sep 22 2015 olaf@aepfle.de - Use pkgconfig for ffmpeg BuildRequires * Tue Jun 16 2015 mpluskal@suse.com - Update to version 1.2 * Fixed compilation with neither libswresample nor libavresample (#11) * Fixed compilation with static libav (#10) * Functions chromaprint_encode_fingerprint and chromaprint_decode_fingerprint are changed to accept const pointer as input * Added support for using the Kiss FFT library (should make Android port easier) * Removed obsolete dev tools from the package * More compatible DEBUG() macro - Cleanup spec file with spec-cleaner - Add missing dependency on boost - Use cmake macro * Wed Dec 10 2014 olaf@aepfle.de - Update to version 1.1 - Fixed potential DoS attack in fingerprint decompression code. (#6) - Fixed invalid memory read with some fingerprinter configurations. (#5) - Added support for audio format conversion with libav. (#2, Gordon Pettey) * Wed Dec 10 2014 hrvoje.senjan@gmail.com - Add baselibs.conf * Wed Oct 30 2013 joerg.lorenzen@ki.tng.de - Update to version 1.0 - Support for the latest FFmpeg API. - Support for reading audio from stdin in fpcalc. - Changed fpcalc to return non-zero status on failure. * Tue Mar 19 2013 schwab@suse.de - Properly determine LIB_SUFFIX * Fri Nov 9 2012 hrvoje.senjan@gmail.com - Update to version 0.7 - Support for the latest FFmpeg API. - New (non-default) fingerprint algorithm that removes leading silence. - API to configure fingerprint algorithms, currently only used by CHROMAPRINT_ALGORITHM_TEST4. * Tue May 29 2012 Manfred.Tremmel@iiv.de - ffmpeg doen't include url.h anymorecompile against ffmpeg_oldabi * Sat May 19 2012 pascal.bleser@opensuse.org - initial version (0.6)