vamp-plugin-sdk/vamp-plugin-sdk.spec

167 lines
5.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package vamp-plugin-sdk
#
Accepting request 519914 from home:alois:branches:multimedia:libs - Update to version 2.7.1 * Fix inclusion mechanism for FFTs which could cause a host application to crash in certain circumstances due to conflicting versions of C-linkage symbols version 2.7: * Add ability to PluginLoader to list plugins only in (or not in) certain library files * Fix fixed-sample-rate output timestamps in printout from the simple host, and add regression test script using test plugin * Switch the convenience FFT interface for plugin usage from the very slow reference implementation previously provided, to the somewhat faster KissFFT * Add a top-secret compiler flag to switch internal FFTs to single-precision only * Fix some small but long-standing memory leaks and minor bugs version 2.6: * Add a simple C-linkage API for plugin library discovery and loading -- the missing part when trying to use Vamp plugins from C or a language with only C-linkage foreign-function interface * Fix bug in PluginBufferingAdapter reset() function, which failed to reset timestamp rewrites (symptom: timestamps appeared to continue to ascend from end point on next run after a reset) * Fix sometime 1-sample rounding error in PluginInputDomainAdapter * Update build files for more recent OS versions * Add -L option to simple host, as synonym for --list-full * Add a combined Visual C++ solution that includes the plugin SDK, host SDK, example plugins, and simple host projects OBS-URL: https://build.opensuse.org/request/show/519914 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vamp-plugin-sdk?expand=0&rev=11
2017-08-31 14:05:44 +02:00
# Copyright (c) 2017 SUSE LINUX 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/
#
Name: vamp-plugin-sdk
Accepting request 519914 from home:alois:branches:multimedia:libs - Update to version 2.7.1 * Fix inclusion mechanism for FFTs which could cause a host application to crash in certain circumstances due to conflicting versions of C-linkage symbols version 2.7: * Add ability to PluginLoader to list plugins only in (or not in) certain library files * Fix fixed-sample-rate output timestamps in printout from the simple host, and add regression test script using test plugin * Switch the convenience FFT interface for plugin usage from the very slow reference implementation previously provided, to the somewhat faster KissFFT * Add a top-secret compiler flag to switch internal FFTs to single-precision only * Fix some small but long-standing memory leaks and minor bugs version 2.6: * Add a simple C-linkage API for plugin library discovery and loading -- the missing part when trying to use Vamp plugins from C or a language with only C-linkage foreign-function interface * Fix bug in PluginBufferingAdapter reset() function, which failed to reset timestamp rewrites (symptom: timestamps appeared to continue to ascend from end point on next run after a reset) * Fix sometime 1-sample rounding error in PluginInputDomainAdapter * Update build files for more recent OS versions * Add -L option to simple host, as synonym for --list-full * Add a combined Visual C++ solution that includes the plugin SDK, host SDK, example plugins, and simple host projects OBS-URL: https://build.opensuse.org/request/show/519914 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vamp-plugin-sdk?expand=0&rev=11
2017-08-31 14:05:44 +02:00
Version: 2.7.1
Release: 0
Summary: An API for audio analysis and feature extraction plugins
License: MIT
Group: Productivity/Multimedia/Sound/Utilities
Url: http://www.vamp-plugins.org/
Accepting request 519914 from home:alois:branches:multimedia:libs - Update to version 2.7.1 * Fix inclusion mechanism for FFTs which could cause a host application to crash in certain circumstances due to conflicting versions of C-linkage symbols version 2.7: * Add ability to PluginLoader to list plugins only in (or not in) certain library files * Fix fixed-sample-rate output timestamps in printout from the simple host, and add regression test script using test plugin * Switch the convenience FFT interface for plugin usage from the very slow reference implementation previously provided, to the somewhat faster KissFFT * Add a top-secret compiler flag to switch internal FFTs to single-precision only * Fix some small but long-standing memory leaks and minor bugs version 2.6: * Add a simple C-linkage API for plugin library discovery and loading -- the missing part when trying to use Vamp plugins from C or a language with only C-linkage foreign-function interface * Fix bug in PluginBufferingAdapter reset() function, which failed to reset timestamp rewrites (symptom: timestamps appeared to continue to ascend from end point on next run after a reset) * Fix sometime 1-sample rounding error in PluginInputDomainAdapter * Update build files for more recent OS versions * Add -L option to simple host, as synonym for --list-full * Add a combined Visual C++ solution that includes the plugin SDK, host SDK, example plugins, and simple host projects OBS-URL: https://build.opensuse.org/request/show/519914 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vamp-plugin-sdk?expand=0&rev=11
2017-08-31 14:05:44 +02:00
Source0: https://code.soundsoftware.ac.uk/attachments/download/2206/%{name}-%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: help2man
Accepting request 519914 from home:alois:branches:multimedia:libs - Update to version 2.7.1 * Fix inclusion mechanism for FFTs which could cause a host application to crash in certain circumstances due to conflicting versions of C-linkage symbols version 2.7: * Add ability to PluginLoader to list plugins only in (or not in) certain library files * Fix fixed-sample-rate output timestamps in printout from the simple host, and add regression test script using test plugin * Switch the convenience FFT interface for plugin usage from the very slow reference implementation previously provided, to the somewhat faster KissFFT * Add a top-secret compiler flag to switch internal FFTs to single-precision only * Fix some small but long-standing memory leaks and minor bugs version 2.6: * Add a simple C-linkage API for plugin library discovery and loading -- the missing part when trying to use Vamp plugins from C or a language with only C-linkage foreign-function interface * Fix bug in PluginBufferingAdapter reset() function, which failed to reset timestamp rewrites (symptom: timestamps appeared to continue to ascend from end point on next run after a reset) * Fix sometime 1-sample rounding error in PluginInputDomainAdapter * Update build files for more recent OS versions * Add -L option to simple host, as synonym for --list-full * Add a combined Visual C++ solution that includes the plugin SDK, host SDK, example plugins, and simple host projects OBS-URL: https://build.opensuse.org/request/show/519914 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vamp-plugin-sdk?expand=0&rev=11
2017-08-31 14:05:44 +02:00
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sndfile)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%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
sed -i 's|/lib/vamp|/%{_lib}/vamp|g' src/vamp-hostsdk/PluginHostAdapter.cpp
sed -i 's|/lib/|/%{_lib}/|g' src/vamp-hostsdk/PluginLoader.cpp
sed -i 's|$(INSTALL_PREFIX)/lib|@libdir@|g' Makefile.in
%build
export CFLAGS="$RPM_OPT_FLAGS -fPIC -Wall"
export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -Wall"
%configure
make %{?_smp_mflags}
%install
# fix libdir
find . -name '*.pc.in' -exec sed -i 's|/lib|/%{_lib}|' {} ';'
# The #INSTALL_PREFIX
make DESTDIR=%{buildroot} install %{?_smp_mflags}
#INSTALL_PREFIX=%%{_prefix} LIB=/%%{_lib}
find %{buildroot} -type f -name "*.la" -delete -print
find %{buildroot} -name '*.a' -exec rm -f {} ';'
# Build api html docs
doxygen -u build/Doxyfile
doxygen build/Doxyfile
%fdupes -s doc/html
# 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
%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