From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/aubio/
Date: Wed, 12 Mar 2025 10:14:45 +0000 (UTC) [thread overview]
Message-ID: <1741774302.094fdcf4149ba78197dad438b7545ff4a145cf90.ionen@gentoo> (raw)
commit: 094fdcf4149ba78197dad438b7545ff4a145cf90
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 12 00:42:09 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Mar 12 10:11:42 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=094fdcf4
media-libs/aubio: use ffmpeg-compat
Seems already fixed upstream, but not planning to handle a potential
snapshot or backports + testing myself.
Given no code changes, plans are to sync keywords back with stable
when ready.
Bug: https://bugs.gentoo.org/942964
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-libs/aubio/aubio-0.4.9-r5.ebuild | 182 +++++++++++++++++++++++++++++++++
1 file changed, 182 insertions(+)
diff --git a/media-libs/aubio/aubio-0.4.9-r5.ebuild b/media-libs/aubio/aubio-0.4.9-r5.ebuild
new file mode 100644
index 000000000000..b2358128f12b
--- /dev/null
+++ b/media-libs/aubio/aubio-0.4.9-r5.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE='threads(+)'
+inherit distutils-r1 ffmpeg-compat waf-utils
+
+DESCRIPTION="Library for audio labelling"
+HOMEPAGE="https://aubio.org/"
+WAFVERSION=2.0.27
+WAFTARBALL=waf-${WAFVERSION}.tar.bz2
+SRC_URI="
+ https://aubio.org/pub/${P}.tar.bz2
+ https://waf.io/${WAFTARBALL}
+"
+
+LICENSE="GPL-3"
+SLOT="0/5"
+KEYWORDS="~amd64 ~loong ~ppc ~ppc64 ~sparc ~x86"
+IUSE="blas 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="
+ blas? ( virtual/cblas )
+ ffmpeg? ( media-video/ffmpeg-compat:6= )
+ 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? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+BDEPEND="${DISTUTILS_DEPS}"
+
+DOCS=( AUTHORS ChangeLog README.md )
+PYTHON_SRC_DIR="${S}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docdir.patch
+ "${FILESDIR}"/${P}-gcc-14.patch
+ "${FILESDIR}"/${P}-numpy-2.patch
+ "${FILESDIR}"/ffmpeg5.patch
+)
+
+src_prepare() {
+ default
+
+ # In case when aubio is already installed, calling of the
+ # `sphinx` function at the wscript causes a python interpreter
+ # crash on `import aubio` if aubio was built with <numpy-2,
+ # but current version of numpy is >=2.
+ # Additionally, it causes duplication of the documentation.
+ sed \
+ -e '/\(doxygen\|sphinx\)(bld)$/d' \
+ -e "s/package = 'blas'/package = 'cblas'/" \
+ -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
+
+ # update waf to fix Python 3.12 compatibility
+ python_setup
+ sed -r \
+ -e "s:python:${PYTHON}:" \
+ -e "s:(WAFVERSION=).*:\1${WAFVERSION}:" \
+ -e "s:(WAFURL=).*:\1'${DISTDIR}/${WAFTARBALL}':" \
+ -e 's:^fetchwaf$:cp "${WAFURL}" "${WAFTARBALL}":' \
+ -i scripts/get_waf.sh || die
+ emake expandwaf
+}
+
+src_configure() {
+ # TODO: fix with >=ffmpeg-7 (or mask USE) then drop compat (bug #942964)
+ use ffmpeg && ffmpeg_compat_setup 6
+
+ python_setup
+
+ local mywafconfargs=(
+ --enable-complex
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable blas)
+ $(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 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/./_}/install/usr/lib/${EPYTHON}/site-packages:${PYTHONPATH}" \
+ emake html
+ 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/html/.
+ fi
+
+ find "${ED}" -name "*.a" -delete || die
+}
next reply other threads:[~2025-03-12 10:14 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-12 10:14 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-07-04 13:36 [gentoo-commits] repo/gentoo:master commit in: media-libs/aubio/ Miroslav Šulc
2024-07-03 22:36 Sam James
2024-07-03 22:36 Sam James
2024-07-03 22:36 Sam James
2024-07-03 22:36 Sam James
2024-06-02 0:41 Sam James
2023-09-06 18:43 WANG Xuerui
2022-06-23 4:02 Miroslav Šulc
2022-06-22 5:50 Agostino Sarubbo
2022-06-22 5:49 Agostino Sarubbo
2022-06-22 5:48 Agostino Sarubbo
2022-06-22 5:45 Agostino Sarubbo
2022-06-20 1:45 Sam James
2022-05-31 4:46 Sam James
2022-02-01 18:51 Michał Górny
2021-06-30 17:43 Miroslav Šulc
2020-11-23 23:10 Lars Wendler
2020-06-24 17:22 Sergei Trofimovich
2020-06-22 6:57 Agostino Sarubbo
2020-06-21 17:08 Agostino Sarubbo
2020-06-21 15:24 Thomas Deutschmann
2020-04-25 19:24 Mikle Kolyada
2020-01-22 21:50 Michał Górny
2020-01-16 6:39 Michał Górny
2020-01-16 6:39 Michał Górny
2019-02-20 15:08 Lars Wendler
2018-10-06 16:48 Matt Turner
2018-10-04 20:55 Sergei Trofimovich
2018-10-04 9:00 Mikle Kolyada
2018-10-01 22:42 Thomas Deutschmann
2018-10-01 20:08 Andreas Sturmlechner
2018-10-01 20:08 Andreas Sturmlechner
2018-10-01 20:08 Andreas Sturmlechner
2018-09-25 8:22 Lars Wendler
2018-09-25 8:22 Lars Wendler
2017-10-06 7:44 Lars Wendler
2017-10-06 7:44 Lars Wendler
2017-08-22 21:41 Michał Górny
2017-05-09 7:29 Alexis Ballier
2017-04-24 12:38 Lars Wendler
2017-04-12 7:54 Lars Wendler
2017-01-13 7:56 Alexis Ballier
2016-08-28 14:12 Alexis Ballier
2016-08-27 18:30 Alexis Ballier
2015-11-10 11:52 Alexis Ballier
2015-11-01 10:37 Alexis Ballier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1741774302.094fdcf4149ba78197dad438b7545ff4a145cf90.ionen@gentoo \
--to=ionen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox