File vamp-plugin-sdk.spec of Package vamp-plugin-sdk
#
# spec file for package vamp-plugin-sdk
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: vamp-plugin-sdk
Version: 2.2.1
Release: 1
Summary: An API for audio analysis and feature extraction plugins
Group: Productivity/Multimedia/Sound/Utilities
License: MIT
Url: http://www.vamp-plugins.org/
Source0: http://downloads.sourceforge.net/vamp/%{name}-%{version}.tar.bz2
Source1: baselibs.conf
Patch0: %{name}-2.0-libdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++ libsndfile-devel pkg-config
BuildRequires: doxygen fdupes graphviz help2man
%description
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package -n libvamp-hostsdk3
Summary: Library for Vamp audio analysis plugin hosts
Group: System/Libraries
%description -n libvamp-hostsdk3
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package -n libvamp-sdk2
Summary: Library for Vamp audio analysis plugins
Group: System/Libraries
%description -n libvamp-sdk2
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}-%{release}
Requires: libvamp-hostsdk3 = %{version}-%{release}
Requires: libvamp-sdk2 = %{version}-%{release}
Requires: pkgconfig
%description devel
The vamp-plugin-sdk-devel package contains documentation examples and
header files for developing applications that use vamp-plugin-sdk.
%prep
%setup -q -n %{name}-v%{version}
%patch0 -b .libdir
sed -i 's|/lib/vamp|/%{_lib}/vamp|g' src/vamp-hostsdk/PluginHostAdapter.cpp
sed -i 's|/lib/|/%{_lib}/|g' src/vamp-hostsdk/PluginLoader.cpp
%define buildir %{_builddir}/%{name}-v%{version}
%build
%configure
make %{?jobs:-j%jobs}
%install
# fix libdir
find . -name '*.pc.in' -exec sed -i 's|/lib|/%{_lib}|' {} ';'
# The #INSTALL_PREFIX
make install DESTDIR=%{buildroot}
#INSTALL_PREFIX=%%{_prefix} LIB=/%%{_lib}
find %{buildroot} -name '*.la' -exec rm -f {} ';'
find %{buildroot} -name '*.a' -exec rm -f {} ';'
# Build api html docs
doxygen -u build/Doxyfile
doxygen build/Doxyfile
pushd doc/html
rm ftv2pnode.png && ln -s ftv2plastnode.png ftv2pnode.png
rm ftv2mlastnode.png && ln -s ftv2mnode.png ftv2mlastnode.png
rm ftv2doc.png && ln -s ftv2link.png ftv2doc.png
rm ftv2vertline.png && ln -s ftv2lastnode.png ftv2vertline.png
rm ftv2node.png && ln -s ftv2lastnode.png ftv2node.png
rm ftv2blank.png && ln -s ftv2lastnode.png ftv2blank.png
popd
# Build refman.pdf
#pushd latex && make all
#popd
%if 0%{?suse_version} >= 1140
# Generate man pages with help2man
mkdir -p %{buildroot}%{_mandir}/man1
pushd %{buildroot}%{_mandir}/man1
cp -v %{buildroot}%{_bindir}/* ./
help2man -N --no-discard-stderr \
-o vamp-rdf-template-generator.1 \
./vamp-rdf-template-generator
help2man -N --no-discard-stderr \
-o vamp-simple-host.1 \
./vamp-simple-host
rm vamp-simple-host vamp-rdf-template-generator
popd
%endif
# create Makefile for examples
cd examples
echo CXXFLAGS=%{optflags} -fpic >> Makefile
echo bundle: `ls *.o` >> Makefile
echo -e "\t"g++ \$\(CXXFLAGS\) -shared -Wl,-Bsymbolic \
-o vamp-example-plugins.so \
*.o \$\(pkg-config --libs vamp-sdk\) >> Makefile
echo `ls *.cpp`: >> Makefile
echo -e "\t"g++ \$\(CXXFLAGS\) -c $*.cpp >> Makefile
echo clean: >> Makefile
echo -e "\t"-rm *.o *.so >> Makefile
# clean directory up so we can package the sources
make clean
%clean
rm -rf %{buildroot}
%post -n libvamp-hostsdk3 -p /sbin/ldconfig
%postun -n libvamp-hostsdk3 -p /sbin/ldconfig
%post -n libvamp-sdk2 -p /sbin/ldconfig
%postun -n libvamp-sdk2 -p /sbin/ldconfig
%files -n libvamp-hostsdk3
%defattr(-,root,root,-)
%{_libdir}/libvamp-hostsdk.so.3*
%files -n libvamp-sdk2
%defattr(-,root,root,-)
%{_libdir}/libvamp-sdk.so.2*
%files
%defattr(-,root,root,-)
%doc COPYING README
%{_bindir}/vamp-rdf-template-generator
%{_bindir}/vamp-simple-host
%if 0%{?suse_version} >= 1140
%{_mandir}/man1/vamp-rdf-template-generator.1.gz
%{_mandir}/man1/vamp-simple-host.1.gz
%endif
%dir %{_libdir}/vamp
%{_libdir}/vamp
%files devel
%defattr(-,root,root,-)
%doc rdf/doc doc/html examples
%dir %{_includedir}/vamp
%dir %{_includedir}/vamp-hostsdk
%dir %{_includedir}/vamp-sdk
%{_includedir}/vamp/*
%{_includedir}/vamp-hostsdk/*
%{_includedir}/vamp-sdk/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog