Name:           alsa-plugins
Version:        1.0.29
Release:        1%{?_dist_release}
Summary:        The Advanced Linux Sound Architecture (ALSA) Plugins
# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+
License:        GPLv2+ and LGPLv2+
Group:          System Environment/Libraries
URL:            http://www.alsa-project.org/
Source0:        ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2
Source1:        50-jack.conf
Source2:        50-pcm-oss.conf
Source3:        10-speex.conf
Source4:        10-samplerate.conf
Source5:        50-upmix.conf
Source6:        97-vdownmix.conf
Source7:        99-pulseaudio-default.conf
Source8:        50-arcamav.conf
Source9:        98-maemo.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires:  alsa-lib-devel >= %{version}
BuildRequires:  libuuid-devel

%description
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
functionality to the Linux operating system.

This package includes plugins for ALSA.


%package jack
Summary:        Jack PCM output plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
Requires:       jack-audio-connection-kit
BuildRequires:  jack-audio-connection-kit-devel
%description jack
This plugin converts the ALSA API over JACK (Jack Audio Connection
Kit, http://jackit.sf.net) API.  ALSA native applications can work
transparently together with jackd for both playback and capture.

    ALSA apps (playback) -> ALSA-lib -> JACK plugin -> JACK daemon
    ALSA apps (capture) <- ALSA-lib <- JACK plugin <- JACK daemon

This plugin provides the PCM type "jack"


%package oss
Summary:        Oss PCM output plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+ 
Requires:       alsa-lib
%description oss
This plugin converts the ALSA API over OSS API.  With this plugin,
ALSA native apps can run on OSS drivers.

This plugin provides the PCM type "oss".


%package pulseaudio
Summary:        Alsa to PulseAudio backend
Group:          System Environment/Libraries
License:        LGPLv2+
BuildRequires:  pulseaudio-lib-devel
Requires:       alsa-lib
Requires:       pulseaudio
%description pulseaudio
This plugin allows any program that uses the ALSA API to access a PulseAudio
sound daemon. In other words, native ALSA applications can play and record
sound across a network. There are two plugins in the suite, one for PCM and
one for mixer control.


%package samplerate
Summary:        External rate converter plugin for ALSA
Group:          System Environment/Libraries
License:        GPLv2+
Requires:       alsa-lib
BuildRequires:  libsamplerate-devel
%description samplerate
This plugin is an external rate converter using libsamplerate by Erik de
Castro Lopo.


%package upmix
Summary:        Upmixer channel expander plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
BuildRequires:  libsamplerate-devel
%description upmix
The upmix plugin is an easy-to-use plugin for upmixing to 4 or
6-channel stream.  The number of channels to be expanded is determined
by the slave PCM or explicitly via channel option.


%package vdownmix
Summary:        Downmixer to stereo plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
BuildRequires:  libsamplerate-devel
%description vdownmix
The vdownmix plugin is a downmixer from 4-6 channels to 2-channel
stereo headphone output.  This plugin processes the input signals with
a simple spacialization, so the output sounds like a kind of "virtual
surround".


%package usbstream
Summary:        USB stream plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
%description usbstream
The usbstream plugin is for snd-usb-us122l driver. It converts PCM
stream to USB specific stream.


%package arcamav
Summary:        Arcam AV amplifier plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
%description arcamav
This plugin exposes the controls for an Arcam AV amplifier
(see: http://www.arcam.co.uk/) as an ALSA mixer device.

%package speex
Summary:        Rate Converter Plugin Using Speex Resampler
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
Requires:       speex
BuildRequires:  speex-devel
%description speex
The rate plugin is an external rate converter using the Speex resampler
(aka Public Parrot Hack) by Jean-Marc Valin. The pcm plugin provides
pre-processing of a mono stream like denoise using libspeex DSP API.

%package maemo
Summary:        Maemo plugin for ALSA
Group:          System Environment/Libraries
License:        LGPLv2+
Requires:       alsa-lib
BuildRequires:  dbus-devel
%description maemo
This plugin converts the ALSA API over PCM task nodes protocol. In this way,
ALSA native applications can run over DSP Gateway and use DSP PCM task nodes.


%prep
%setup -q -n %{name}-%{version}


%build
%configure --disable-static \
           --with-speex=lib \
           --enable-maemo-plugin \
           --enable-maemo-resource-manager

make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm
install -m 644 %SOURCE1 %SOURCE2 %SOURCE3 \
               %SOURCE4 %SOURCE5 %SOURCE6 \
               %SOURCE7 %SOURCE8 %SOURCE9 \
                   ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d

find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \;


%clean
rm -rf $RPM_BUILD_ROOT


%post -p /sbin/ldconfig


%postun -p /sbin/ldconfig


%files jack
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/README-jack
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-jack.conf
%{_libdir}/alsa-lib/libasound_module_pcm_jack.so


%files oss
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/README-pcm-oss
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pcm-oss.conf
%{_libdir}/alsa-lib/libasound_module_ctl_oss.so
%{_libdir}/alsa-lib/libasound_module_pcm_oss.so


%files pulseaudio
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/README-pulse
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf
%{_libdir}/alsa-lib/libasound_module_pcm_pulse.so
%{_libdir}/alsa-lib/libasound_module_ctl_pulse.so
%{_libdir}/alsa-lib/libasound_module_conf_pulse.so
%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example


%files samplerate
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/samplerate.txt
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf
%{_libdir}/alsa-lib/libasound_module_rate_samplerate.so
%{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so
%{_libdir}/alsa-lib/libasound_module_rate_samplerate_linear.so
%{_libdir}/alsa-lib/libasound_module_rate_samplerate_medium.so
%{_libdir}/alsa-lib/libasound_module_rate_samplerate_order.so


%files upmix
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/upmix.txt
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-upmix.conf
%{_libdir}/alsa-lib/libasound_module_pcm_upmix.so


%files vdownmix
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/vdownmix.txt
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/97-vdownmix.conf
%{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so


%files usbstream
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL
%{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so


%files arcamav
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/README-arcam-av
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-arcamav.conf
%{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so

%files speex
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-speex.conf
%{_libdir}/alsa-lib/libasound_module_pcm_speex.so
%{_libdir}/alsa-lib/libasound_module_rate_speexrate.so
%{_libdir}/alsa-lib/libasound_module_rate_speexrate_best.so
%{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so

%files maemo
%defattr(-,root,root,-)
%doc COPYING COPYING.GPL doc/README-maemo
%config(noreplace) %{_datadir}/alsa/alsa.conf.d/98-maemo.conf
%{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so
%{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so


%changelog
* Sat Jul 11 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.29-1
- new upstream release

* Sun Jul 20 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.28-1
- new upstream release
- add BuildRequires (libuuid-devel)

* Fri Jul 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.27-1
- new upstream release
- rebuild with pulseaudio-4.0

* Sat Oct 13 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> - 1.0.26-1
- new upstream release

* Sun Jul 29 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> - 1.0.25-1
- new upstream release
- replace SOURCE1,2,3,4,5,6,8,9 from fedora
- replace SOURCE7 (99-pulseaudio-default.conf)
- remove old patches

* Fri May 28 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.0.23-1
- new upstream release

* Thu Dec 31 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 1.0.22-1
- new upstream release

* Thu Oct  8 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.0.21-1
- new upstream release
- add speex and maemo subpackages

* Thu Jul  2 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.0.20-1
- new upstream release
- add arcam-av and usbstream subpackages

* Tue Mar 24 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.19-1
- new upstream release

* Thu Feb 19 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.0.18-1
- new upstream release
- update Patch3
- drop Patch4 and Patch5 since they are merged into upstream

* Sun Sep 07 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.17-2
- rebuild with pulseaudio-0.9.11

* Mon Sep 01 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.17-1
- initial build for Vine Linux

* Mon Jul 21 2008 Jaroslav Kysela <jkysela@redhat.com> - 1.0.17-1
- Updated to 1.0.17

* Tue Mar 25 2008 Lubomir Kundrak <lkundrak@redhat.com> - 1.0.16-4
- Kind of fix the plugins not to complain about the hints

* Wed Mar 19 2008 Eric Moret <eric.moret@gmail.com> - 1.0.16-3
- Fixing jack.conf (#435343)

* Sun Mar 09 2008 Lubomir Kundrak <lkundrak@redhat.com> - 1.0.16-2
- Add descriptions to various PCM plugins, so they're visible in aplay -L

* Sat Mar 08 2008 Lubomir Kundrak <lkundrak@redhat.com> - 1.0.16-1
- New upstream, dropping upstreamed patches
- Do not assert fail when pulseaudio is unavailable (#435148)

* Tue Mar 04 2008 Lubomir Kundrak <lkundrak@redhat.com> - 1.0.15-4
- Be more heplful when there's PulseAudio trouble.
- This may save us some bogus bug reports

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0.15-3
- Autorebuild for GCC 4.3

* Fri Jan 18 2008 Eric Moret <eric.moret@epita.fr> - 1.0.15-2
- Update to upstream 1.0.15 (#429249)
- Add "Requires: pulseaudio" to alsa-plugins-pulseaudio (#368891)
- Fix pulse_hw_params() when state is SND_PCM_STATE_PREPARED (#428030)
- run /sbin/ldconfig on post and postun macros

* Thu Oct 18 2007 Lennart Poettering <lpoetter@redhat.com> - 1.0.14-6
- Merge the whole /etc/alsa/pcm/pulseaudio.conf stuff into
  /etc/alsa/pulse-default.conf, because the former is practically
  always ignored, since it is not referenced for inclusion by any other
  configuration file fragment (#251943)
  The other fragments installed in /etc/alsa/pcm/ are useless, too. But
  since we are in a freeze and they are not that important, I am not fixing
  this now.

* Wed Oct 17 2007 Lennart Poettering <lpoetter@redhat.com> - 1.0.14-5
- Split pulse.conf into two, so that we can load one part from
  form /etc/alsa/alsa.conf. (#251943)

* Mon Oct 1 2007 Lennart Poettering <lpoetter@redhat.com> - 1.0.14-4
- In the pulse plugin: reflect the XRUN state back to the application.
  Makes XMMS work on top of the alsa plugin. (#307341)

* Mon Sep 24 2007 Lennart Poettering <lpoetter@redhat.com> - 1.0.14-3
- Change PulseAudio buffering defaults to more sane values

* Tue Aug 14 2007 Eric Moret <eric.moret@epita.fr> - 1.0.14-2
- Adding pulse as ALSA "default" pcm and ctl when the alsa-plugins-pulseaudio
package is installed, fixing #251943.

* Mon Jul 23 2007 Eric Moret <eric.moret@epita.fr> - 1.0.14-1
- update to upstream 1.0.14
- use configure --without-speex instead of patches to remove a52

* Tue Mar 13 2007 Matej Cepl <mcepl@redhat.com> - 1.0.14-0.3.rc2
- Really remove a52 plugin package (including changes in
  configure and configure.in)

* Thu Feb 15 2007 Eric Moret <eric.moret@epita.fr> 1.0.14-0.2.rc2
- Adding configuration files
- Removing a52 plugin package

* Wed Jan 10 2007 Eric Moret <eric.moret@epita.fr> 1.0.14-0.1.rc2
- Initial package for Fedora
