commit:     8cf655f807ec6425decf5c1ff1933b770ca104ff
Author:     Aliaksei Urbanski <aliaksei.urbanski <AT> gmail <DOT> com>
AuthorDate: Thu Apr 25 14:40:42 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  2 00:34:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cf655f8

media-libs/aubio: revbump to 0.4.9-r3

These changes:
  - add Python 3.12 support
  - migrate to PEP 517 build
  - bump EAPI to 8

Bug: https://bugs.gentoo.org/929631
Bug: https://bugs.gentoo.org/909987

Signed-off-by: Aliaksei Urbanski <aliaksei.urbanski <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/36421
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/aubio/Manifest              |   1 +
 media-libs/aubio/aubio-0.4.9-r3.ebuild | 167 +++++++++++++++++++++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/media-libs/aubio/Manifest b/media-libs/aubio/Manifest
index cafe77d9791a..1fc0bdb0e590 100644
--- a/media-libs/aubio/Manifest
+++ b/media-libs/aubio/Manifest
@@ -1 +1,2 @@
 DIST aubio-0.4.9.tar.bz2 397604 BLAKE2B 
b849d92678ea8fb20e17921b1a61fdc85a84d4a528acfefa3278169ab5f7fe935217ec37dd9f931202f0f0a1fd3a9518372afbce34cc2dd3ca30c6b4e5d9a301
 SHA512 
0cb81bb4b15051db3f3f4d160d500af56fdfb237e0a74e3f366f53c2870030aa0a7cee8469a611a9694c36b8866d3d42ffb48241c999de08f3fee43e6d903130
+DIST waf-2.0.27.tar.bz2 693624 BLAKE2B 
34dcb84df2f42d7c92988226ae0208a9407a091f79e47b8abe1d3b33105d58df06072bfb3c22a7bb6dfa8f083224642c55fa2c9fc0110a2d49d3d10ea754c928
 SHA512 
a62dbb1ee89d88969c31d3f634577d80b8a595460d445cae9b42ca423cfcbbb96347b5b67697165833f3dd496b4bc7e312e166af86cb3b97ed57ffe59f46b98a

diff --git a/media-libs/aubio/aubio-0.4.9-r3.ebuild 
b/media-libs/aubio/aubio-0.4.9-r3.ebuild
new file mode 100644
index 000000000000..4a910ed12d2e
--- /dev/null
+++ b/media-libs/aubio/aubio-0.4.9-r3.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2024 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..12} )
+PYTHON_REQ_USE='threads(+)'
+inherit distutils-r1 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="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-text/doxygen
+               dev-python/sphinx[${PYTHON_USEDEP}]
+       )
+"
+BDEPEND="${DISTUTILS_DEPS}"
+
+DOCS=( AUTHORS ChangeLog README.md )
+PYTHON_SRC_DIR="${S}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-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
+
+       # update waf to fix Python 3.12 compatibility
+       sed -r \
+               -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() {
+       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 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
+}

Reply via email to