From 6b1bcd9b788752a988cf034347c161914f1ba6b1 Mon Sep 17 00:00:00 2001 From: Jacek Konieczny Date: Tue, 11 Oct 2016 20:17:33 +0200 Subject: [PATCH 1/1] Version: 0.4.3 --- aubio-python.patch | 20 ------ aubio.spec | 174 ++++++++++++++++++++++++++++----------------- 2 files changed, 110 insertions(+), 84 deletions(-) delete mode 100644 aubio-python.patch diff --git a/aubio-python.patch b/aubio-python.patch deleted file mode 100644 index f5a5836..0000000 --- a/aubio-python.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- aubio-0.3.2/python/aubio/Makefile.am.orig 2006-10-10 16:40:23.000000000 +0200 -+++ aubio-0.3.2/python/aubio/Makefile.am 2007-06-24 17:03:32.342879923 +0200 -@@ -38,7 +38,7 @@ - web/browser.py \ - web/html.py - --nodist_pkgpython_PYTHON = aubiowrapper.py _aubiowrapper.so -+nodist_pkgpython_PYTHON = aubiowrapper.py - - _aubiowrapper.so: _aubiowrapper.la - -@@ -68,7 +68,7 @@ - -L$(top_builddir)/ext -laubioext \ - -L$(top_builddir)/src -laubio - --pkgpython_LTLIBRARIES = _aubiowrapper.la -+pkgpyexec_LTLIBRARIES = _aubiowrapper.la - - _aubiowrapper_la_LDFLAGS = -module -avoid-version $(AUBIO_LDFLAGS) - _aubiowrapper_la_SOURCES = aubio_wrap.c diff --git a/aubio.spec b/aubio.spec index 7907c55..6a08e12 100644 --- a/aubio.spec +++ b/aubio.spec @@ -1,37 +1,40 @@ -# TODO: -# - package doc and create audacity-plugin # # Conditional build: -%bcond_without python # python bindings +%bcond_without python2 # python bindings +%bcond_without python3 # python bindings # Summary: aubio - library for audio labelling Summary(pl.UTF-8): aubio - biblioteka do oznaczania dźwięku Name: aubio -Version: 0.3.2 +Version: 0.4.3 Release: 1 -License: GPL v2+ +License: GPL v3+ Group: Libraries -Source0: http://aubio.piem.org/pub/%{name}-%{version}.tar.gz -# Source0-md5: ffc3e5e4880fec67064f043252263a44 -Patch0: %{name}-python.patch +Source0: http://aubio.piem.org/pub/%{name}-%{version}.tar.bz2 +# Source0-md5: 52a960cfc8a3e3125f3a258545d1c7e5 URL: http://aubio.piem.org/ BuildRequires: alsa-lib-devel >= 0.9.0 -BuildRequires: autoconf >= 2.50 -BuildRequires: automake -BuildRequires: docbook-to-man +BuildRequires: doxygen +BuildRequires: ffmpeg-devel BuildRequires: fftw3-single-devel >= 3.0.0 BuildRequires: jack-audio-connection-kit-devel >= 0.15.0 -BuildRequires: lash-devel >= 0.5.0 BuildRequires: libsamplerate-devel >= 0.0.15 BuildRequires: libsndfile-devel >= 1.0.4 -BuildRequires: libtool BuildRequires: pkgconfig -#BuildRequires: puredata-devel (m_pd.h) -%if %{with python} -BuildRequires: python-devel +BuildRequires: txt2man +%if %{with python2} || %{with python3} BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.219 -BuildRequires: swig-python +BuildRequires: rpmbuild(macros) >= 1.714 +%endif +%if %{with python2} +BuildRequires: python-devel +BuildRequires: python-numpy-devel +BuildRequires: python-setuptools +%endif +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: python3-numpy-devel +BuildRequires: python3-setuptools %endif BuildRequires: sed >= 4.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -82,10 +85,10 @@ Requires: %{name} = %{version}-%{release} A few examples of applications using aubio library: - aubioonset: outputs the onset detected. - aubionotes: uses both onset and pitch to extract symbolic music data - from an audio source and emit MIDI like data. + from an audio source and emit MIDI like data. - aubiocut: a Python script that takes an input sound and creates one - new sample at each detected onset or beat. The slices produced by - aubiocut are useful for use with a sequencer such as Hydrogen. + new sample at each detected onset or beat. The slices produced by + aubiocut are useful for use with a sequencer such as Hydrogen. - aubiopitch: a Python script to extract pitch tracks from sound files. @@ -93,14 +96,14 @@ A few examples of applications using aubio library: Kilka przykładowych aplikacji korzystających z biblioteki dubio: - aubioonset - wypisuje wykryty początek. - aubionotes - wykorzystuje początek i wysokość do wyciągnięcia - symbolicznych danych muzycznych ze źródła dźwięku i stworzenia - danych typu MIDI. + symbolicznych danych muzycznych ze źródła dźwięku i stworzenia danych + typu MIDI. - aubiocut - skrypt Pythona pobierający dźwięk wejściowy i tworzący nową próbkę dla każdego wykrytego początku lub taktu. Fragmenty - tworzone przez aubiocut są przydatne do wykorzystania przez - sekwencer, jak np. Hydrogen. -- aubiopitch - skrypt Pythona do wyciągania ścieżek wysokości z - plików dźwiękowych. + tworzone przez aubiocut są przydatne do wykorzystania przez sekwencer, + jak np. Hydrogen. +- aubiopitch - skrypt Pythona do wyciągania ścieżek wysokości z plików + dźwiękowych. %package -n python-aubio Summary: aubio Python bindings @@ -114,32 +117,67 @@ aubio Python bindings. %description -n python-aubio -l pl.UTF-8 Wiązania Pythona do biblioteki aubio. +%package -n python3-aubio +Summary: aubio Python bindings +Summary(pl.UTF-8): Wiązania Pythona do biblioteki aubio +Group: Libraries/Python +Requires: %{name} = %{version}-%{release} + +%description -n python3-aubio +aubio Python bindings. + +%description -n python3-aubio -l pl.UTF-8 +Wiązania Pythona do biblioteki aubio. + %prep %setup -q -%patch0 -p1 -sed 's/\([A-Z_]\+\)+="\(.*\)"/\1="$\1 \2"/' -i configure.ac %build -%{__libtoolize} -%{__aclocal} -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - --enable-alsa \ - --enable-lash \ - --enable-jack - -%{__make} +export CC="%{__cc}" +export CXX="%{__cxx}" +export CFLAGS="%{rpmcflags}" +export CXXFLAGS="%{rpmcxxflags}" +export LDFLAGS="%{rpmldflags}" +./waf configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --libexecdir=%{_libexecdir} \ + --enable-fftw3f \ + --enable-jack \ + --enable-sndfile \ + --enable-avcodec \ + --enable-samplerate \ + --disable-atlas \ + --enable-docs + +./waf build -v + +%if %{with python2} +%py_build %{?with_tests:test} +%endif + +%if %{with python3} +%py3_build %{?with_tests:test} +%endif %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +./waf install -v \ + --destdir=$RPM_BUILD_ROOT \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --libexecdir=%{_libexecdir} -%py_postclean -rm -f $RPM_BUILD_ROOT%{py_sitedir}/aubio/_aubiowrapper.{la,a} +%if %{with python2} +%py_install +%endif + +%if %{with python3} +%py3_install +%endif + +rm -r $RPM_BUILD_ROOT%{_docdir}/libaubio-doc %clean rm -rf $RPM_BUILD_ROOT @@ -149,45 +187,53 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS README THANKS TODO -%attr(755,root,root) %{_libdir}/libaubio.so.*.*.* -%attr(755,root,root) %{_libdir}/libaubioext.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libaubio.so.2 -%attr(755,root,root) %ghost %{_libdir}/libaubioext.so.2 +%doc AUTHORS ChangeLog README.md +%attr(755,root,root) %{_libdir}/libaubio.so.5.*.* +%attr(755,root,root) %ghost %{_libdir}/libaubio.so.5 %files devel %defattr(644,root,root,755) +%doc doc/web/html/* %attr(755,root,root) %{_libdir}/libaubio.so -%attr(755,root,root) %{_libdir}/libaubioext.so -%{_libdir}/libaubio.la -%{_libdir}/libaubioext.la %{_includedir}/%{name} %{_pkgconfigdir}/aubio.pc -%files static -%defattr(644,root,root,755) -%{_libdir}/libaubio.a -%{_libdir}/libaubioext.a - %files progs %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/aubiomfcc %attr(755,root,root) %{_bindir}/aubionotes %attr(755,root,root) %{_bindir}/aubioonset +%attr(755,root,root) %{_bindir}/aubiopitch +%attr(755,root,root) %{_bindir}/aubioquiet %attr(755,root,root) %{_bindir}/aubiotrack +%{_mandir}/man1/aubiomfcc.1* %{_mandir}/man1/aubionotes.1* %{_mandir}/man1/aubioonset.1* +%{_mandir}/man1/aubiopitch.1* +%{_mandir}/man1/aubioquiet.1* %{_mandir}/man1/aubiotrack.1* -%{_datadir}/sounds/aubio -%if %{with python} +%if %{with python2} %files -n python-aubio %defattr(644,root,root,755) %dir %{py_sitedir}/aubio -%attr(755,root,root) %{py_sitedir}/aubio/_aubiowrapper.so -%{py_sitescriptdir}/aubio -# examples +%{py_sitedir}/aubio/*.py* +%attr(755,root,root) %{py_sitedir}/aubio/_aubio.so +%{py_sitedir}/aubio*.egg-info +%if %{without python3} +%attr(755,root,root) %{_bindir}/aubiocut +%{_mandir}/man1/aubiocut.1* +%endif +%endif + +%if %{with python3} +%files -n python3-aubio +%defattr(644,root,root,755) +%dir %{py3_sitedir}/aubio +%{py3_sitedir}/aubio/__pycache__ +%{py3_sitedir}/aubio/*.py +%attr(755,root,root) %{py3_sitedir}/aubio/_aubio.*.so +%{py3_sitedir}/aubio*.egg-info %attr(755,root,root) %{_bindir}/aubiocut -%attr(755,root,root) %{_bindir}/aubiopitch %{_mandir}/man1/aubiocut.1* -%{_mandir}/man1/aubiopitch.1* %endif -- 2.44.0