public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
+}


             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