diff options
author | Sam James <sam@gentoo.org> | 2022-02-22 06:39:50 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-22 06:39:50 +0000 |
commit | 23fce11f0b9f85285e880516c9f5646dfd7594c7 (patch) | |
tree | e520386db613591438c4e818ddd08d56dfb6f3c2 /media-libs/chromaprint | |
parent | sys-auth/polkit: patch CVE-2021-4115 (diff) | |
download | gentoo-23fce11f0b9f85285e880516c9f5646dfd7594c7.tar.gz gentoo-23fce11f0b9f85285e880516c9f5646dfd7594c7.tar.bz2 gentoo-23fce11f0b9f85285e880516c9f5646dfd7594c7.zip |
media-libs/chromaprint: make ffmpeg support optional
Unconditional dependence on ffmpeg leads to awkward circular
dependencies between ffmpeg and chromaprint.
Let's use fftw unless tools are requested (for which ffmpeg is
actually required) to break the cycle in the common case.
Bug: https://bugs.gentoo.org/625210
Closes: https://bugs.gentoo.org/833821
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/chromaprint')
-rw-r--r-- | media-libs/chromaprint/chromaprint-1.5.1-r1.ebuild | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/media-libs/chromaprint/chromaprint-1.5.1-r1.ebuild b/media-libs/chromaprint/chromaprint-1.5.1-r1.ebuild new file mode 100644 index 000000000000..41f811d616ad --- /dev/null +++ b/media-libs/chromaprint/chromaprint-1.5.1-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GTEST_VERSION="1.10.0" +GTEST_DIR_VERSION="1.10.x" +inherit cmake-multilib + +DESCRIPTION="Library implementing a custom algorithm for extracting audio fingerprints" +HOMEPAGE="https://acoustid.org/chromaprint" +SRC_URI="https://github.com/acoustid/${PN}/releases/download/v${PV}/${P}.tar.gz + test? ( https://github.com/google/googletest/archive/v$(ver_cut 1-2 ${GTEST_VERSION}).x.tar.gz -> gtest-${GTEST_VERSION}.tar.gz ) +" + +LICENSE="LGPL-2.1" +SLOT="0/1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="test tools" +RESTRICT="!test? ( test )" + +# Default to fftw to avoid awkward circular dependency w/ ffmpeg +# See bug #833821 for an example +RDEPEND="tools? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] ) + !tools? ( sci-libs/fftw:=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )" + +DOCS=( NEWS.txt README.md ) + +multilib_src_configure() { + export GTEST_ROOT="${WORKDIR}/googletest-${GTEST_DIR_VERSION}/googletest/" + + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + + -DFFT_LIB=$(usex tools 'avfft' 'fftw3') + + $(usev tools '-DAUDIO_PROCESSOR_LIB="swresample"') + + # Automagicallyish looks for ffmpeg, but there's no point + # even doing the check unless we're building with tools + # (=> without fftw3, and with ffmpeg). + -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=$(usex !tools) + ) + + cmake_src_configure +} + +multilib_src_test() { + cd tests && (./all_tests || die "Tests failed") +} |