Blob Blame History Raw
# whether to do a verbose build
%bcond_without verbose_build
%if %{with verbose_build}
%global _verbose -v
%else
%global _verbose %{nil}
%endif

Name:           aubio
Version:        0.4.2
Release:        8%{?dist}
Summary:        An audio labelling library

Group:          System Environment/Libraries
License:        GPLv3+
URL:            http://aubio.org/
Source0:        http://aubio.org/pub/aubio-%{version}.tar.bz2
Patch0:         0001-make-version-status-PEP440-compliant.patch
Patch1:         0002-Python-3-use-explicit-relative-import.patch
Patch2:         0003-Python-3-coerce-iterators-into-lists-where-necessary.patch
Patch3:         0004-Python-3-use-Py_TYPE-instead-of-ob_type-member.patch
Patch4:         0005-Python-3-raise-RuntimeErrors-not-generic-exceptions.patch
Patch5:         0006-Python-3-use-new-raise-syntax.patch

BuildRequires:  doxygen
BuildRequires:  fftw-devel
BuildRequires:  jack-audio-connection-kit-devel
BuildRequires:  libsamplerate-devel
BuildRequires:  libsndfile-devel
BuildRequires:  numpy python3-numpy
BuildRequires:  pkgconfig
BuildRequires:  python2-devel python3-devel
BuildRequires:  python2-setuptools python3-setuptools
BuildRequires:  txt2man

%description
aubio is a library for audio labelling. Its features include
segmenting a sound file before each of its attacks, performing pitch
detection, tapping the beat and producing midi streams from live
audio. The name aubio comes from 'audio' with a typo: several
transcription errors are likely to be found in the results too.

The aim of this project is to provide these automatic labelling
features to other audio softwares. Functions can be used offline in
sound editors and software samplers, or online in audio effects and
virtual instruments.

%package        devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       pkgconfig

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package	    python2
Summary:        Python 2 language bindings for %{name}
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       python2
Obsoletes:      %{name}-python < 0.4.0

%description    python2
The %{name}-python2 package contains the Python 2 language bindings for
%{name}.

%package	    python3
Summary:        Python 3 language bindings for %{name}
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       python3

%description    python3
The %{name}-python3 package contains the Python 3 language bindings for
%{name}.

%prep
%autosetup -p1

# copy python directory for Python 2 support
rm -rf python2
cp -r python python2

%build
./waf configure \
    --prefix="%_prefix" \
    --bindir="%_bindir" \
    --sysconfdir="%_sysconfdir" \
    --datadir="%_datadir" \
    --includedir="%_includedir" \
    --libdir="%_libdir" \
    --mandir="%_mandir" \
    --docdir="%_docdir" \
    --enable-fftw3f \
    --enable-complex \
    --enable-jack \
    --enable-samplerate

./waf build %{_verbose} %{?_smp_mflags}

pushd python2
%py2_build
popd

pushd python
%py3_build
popd

%install
./waf --destdir=%{buildroot} %{_verbose} install
rm -rf libaubio-doc
cp -r %{buildroot}%{_docdir}/libaubio-doc libaubio-doc
rm -rf %{buildroot}%{_docdir}/libaubio-doc

pushd python2
%py2_install
popd

pushd python
%py3_install
popd

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%license COPYING
%doc AUTHORS ChangeLog README.md
%{_libdir}/*.so.*
%{_bindir}/*
%{_mandir}/man1/*

%files devel
%doc libaubio-doc/html
%{_libdir}/pkgconfig/*.pc
%{_libdir}/*.so
%{_includedir}/aubio

%files python2
%{python2_sitearch}/%{name}
%{python2_sitearch}/%{name}*.egg-info

%files python3
%{python3_sitearch}/%{name}
%{python3_sitearch}/%{name}*.egg-info

%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 0.4.2-4
- Rebuild for Python 3.6

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Nov 26 2015 Nils Philippsen <nils@tiptoe.de> - 0.4.2-1
- version 0.4.2
- new license: GPLv3+
- use %%autosetup macro
- remove some old cruft
- waf: build verbosely
- rename python subpackage to python2, add python3 subpackage
- many Python fixes, especially for Python 3

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 0.3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Wed Feb 10 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.3.2-8
- Fix DSO-linking failure
- Fix byte-compilation failure

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.3.2-5
- Rebuild for Python 2.6

* Sun Jul 13 2008 Anthony Green <green@redhat.com> 0.3.2-4
- BuildRequire python-devel.

* Sun Jul 13 2008 Anthony Green <green@redhat.com> 0.3.2-3
- Fix python package installation.

* Sun Jul 13 2008 Anthony Green <green@redhat.com> 0.3.2-2
- Untabify.
- Don't use rpath.
- Add python subpackage.

* Thu Jul 10 2008 Anthony Green <green@redhat.com> 0.3.2-1
- Created.