summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-20 02:43:14 +0100
committerSam James <sam@gentoo.org>2022-06-20 02:45:39 +0100
commit155fb7ff1e66b5effd7dfc4cdf718769a7835156 (patch)
tree74e43c09c129200a65264ce05cfa1e33935efa7e /media-libs/aubio
parentapp-metrics/blackbox_exporter: add 0.21.1 (diff)
downloadgentoo-155fb7ff1e66b5effd7dfc4cdf718769a7835156.tar.gz
gentoo-155fb7ff1e66b5effd7dfc4cdf718769a7835156.tar.bz2
gentoo-155fb7ff1e66b5effd7dfc4cdf718769a7835156.zip
media-libs/aubio: update EAPI 6 -> 7; Python 3.10; fix Python tests
- EAPI 6->7 (not 8 b/c waf-utils) - Add Python 3.10 - Python tests weren't actually being run before! They pass w/ all impls. Closes: https://bugs.gentoo.org/799722 Closes: https://bugs.gentoo.org/806866 Closes: https://bugs.gentoo.org/846014 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/aubio')
-rw-r--r--media-libs/aubio/aubio-0.4.9-r2.ebuild151
1 files changed, 151 insertions, 0 deletions
diff --git a/media-libs/aubio/aubio-0.4.9-r2.ebuild b/media-libs/aubio/aubio-0.4.9-r2.ebuild
new file mode 100644
index 000000000000..f98faae91fcd
--- /dev/null
+++ b/media-libs/aubio/aubio-0.4.9-r2.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE='threads(+)'
+inherit distutils-r1 waf-utils
+
+DESCRIPTION="Library for audio labelling"
+HOMEPAGE="https://aubio.org/"
+SRC_URI="https://aubio.org/pub/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0/5"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc double-precision examples ffmpeg fftw jack libsamplerate sndfile python test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ?? ( double-precision libsamplerate )
+ doc? ( python )
+"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ffmpeg? ( >=media-video/ffmpeg-2.6:0= )
+ fftw? ( sci-libs/fftw:3.0= )
+ jack? ( virtual/jack )
+ libsamplerate? ( media-libs/libsamplerate )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ sndfile? ( media-libs/libsndfile )
+"
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-text/txt2man
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-python/sphinx
+ )
+"
+
+DOCS=( AUTHORS ChangeLog README.md )
+PYTHON_SRC_DIR="${S}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.9-docdir.patch
+ "${FILESDIR}"/ffmpeg5.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e "s:doxygen:doxygen_disabled:" -i wscript || die
+
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+
+ # ERROR: "Skipped: no test sounds, add some in 'python/tests/sounds/'!"
+ rm python/tests/test_source.py || die
+
+ if ! use test; then
+ sed -e "/bld.*tests/d" -i wscript || die
+ fi
+}
+
+src_configure() {
+ python_setup
+
+ local mywafconfargs=(
+ --enable-complex
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable doc docs)
+ $(use_enable double-precision double)
+ $(use_enable fftw fftw3)
+ $(use_enable ffmpeg avcodec)
+ $(use_enable jack)
+ $(use_enable libsamplerate samplerate)
+ $(use_enable sndfile)
+ )
+
+ use double-precision || mywafconfargs+=( $(use_enable fftw fftw3f) )
+
+ waf-utils_src_configure "${mywafconfargs[@]}"
+
+ if use python ; then
+ cd "${PYTHON_SRC_DIR}" || die
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ waf-utils_src_compile --notests
+
+ if use python ; then
+ cd "${PYTHON_SRC_DIR}" || die
+ distutils-r1_src_compile
+
+ if use doc ; then
+ # No API function like distutils_install_for_testing available for this use case
+ pushd "${S}"/doc &>/dev/null || die
+ python_setup
+ LD_LIBRARY_PATH="${S}/build/src:${LD_LIBRARY_PATH}" \
+ PYTHONPATH="${S%%/}-${EPYTHON/./_}/lib${PYTHONPATH:+:${PYTHONPATH}}" \
+ emake dirhtml
+ fi
+
+ cd "${S}" || die
+ fi
+}
+
+src_test() {
+ waf-utils_src_compile --alltests
+
+ if use python ; then
+ cd "${PYTHON_SRC_DIR}" || die
+ distutils-r1_src_test
+ fi
+}
+
+python_test() {
+ LD_LIBRARY_PATH="${S}/build/src:${LD_LIBRARY_PATH}" eunittest python/tests
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use examples; then
+ # install dist_noinst_SCRIPTS from Makefile.am
+ dodoc -r examples
+ fi
+
+ if use python ; then
+ cd "${PYTHON_SRC_DIR}" || die
+ DOCS="" distutils-r1_src_install
+ newdoc python/README.md README.python
+ fi
+
+ if use doc; then
+ dodoc doc/*.txt
+ docinto html
+ dodoc -r doc/_build/dirhtml/.
+ fi
+
+ find "${ED}" -name "*.a" -delete || die
+}