Blob Blame History Raw
# Minimum audacious/audacious-plugins version in inter-package
# dependencies.
# We need 2.4 as 2.2 is insufficient.
%define aud_ver 2.4

Name: audacious-plugins
Version: 2.4
Release: 0.1.alpha1%{?dist}
Summary: Plugins for the Audacious media player
Group: Applications/Multimedia
URL: http://audacious-media-player.org/

# LGPLv2+: adplug, bio2jack, rocklight
# MIT: crystalizer, dockalbumart
# BSD: scrobbler/lastfm (removed pre-2.4-alpha1)
License: GPLv2 and GPLv2+ and LGPLv2+ and MIT and GPLv3

# Modified source tarball to remove problematic files.
# Removed: aac
# Disabled via options where possible, see %%build.
Source0: audacious-plugins-fedora-%{version}-alpha1.tar.bz2
#Source0: http://distfiles.atheme.org/audacious-plugins-%{version}-alpha1.tgz
Source1: audacious-sid.desktop

Patch0: audacious-plugins-2.0.1-xmms-skindir.patch
# fix hardcoded libdir replacement
Patch1: audacious-plugins-2.4-libdir.patch
# additional safety not merged upstream with neon patches
Patch2: audacious-plugins-2.4-neon-session-destroy.patch
# submitted: AUDPLUG-237
Patch3: audacious-plugins-2.2-adplug-lds.patch
# div-by-zero with almost empty MIDI file, bz 573851
# submitted: AUDPLUG-238
# modified patch file vs. F-13
Patch4: audacious-plugins-2.2-amidi.patch
# submitted upstream
Patch5: audacious-plugins-2.4-projectm-includes.patch

BuildRequires: audacious-devel >= %{aud_ver}
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libsamplerate-devel
BuildRequires: alsa-lib-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: esound-devel
BuildRequires: libsndfile-devel
BuildRequires: wavpack-devel
BuildRequires: libsidplay-devel
BuildRequires: libogg-devel libvorbis-devel
BuildRequires: flac-devel
BuildRequires: fluidsynth-devel
BuildRequires: libbinio-devel
BuildRequires: libcdio-devel
BuildRequires: libcue-devel
BuildRequires: SDL-devel
BuildRequires: lirc-devel
BuildRequires: bluez-libs-devel
BuildRequires: libcddb-devel
BuildRequires: libmtp-devel
BuildRequires: libxml2-devel
BuildRequires: libprojectM-devel gtkglext-devel
BuildRequires: libbs2b-devel

# experimental, disabled by default
BuildRequires: neon-devel

Requires: audacious >= %{aud_ver}

# temporarily till that upgrade is marked stable
# Available: F11 updates, F12 updates
#Requires: alsa-lib >= 1.0.22

# last in 1.5.1, tagged dist-f11-updates
Obsoletes: audacious-plugins-arts

# last tagged dist-f12-updates
# obsolete old subpackage -- no reason to split this off
Obsoletes: audacious-plugins-metronome < 2.2-2
Provides: audacious-plugins-metronome = %{version}-%{release}

# last tagged dist-f13-updates
# obsolete old subpackage -- no reason to split this off
Obsoletes: audacious-plugins-wavpack < 2.4
Provides: audacious-plugins-wavpack = %{version}-%{release}


%description
Audacious is a media player that currently uses a skinned user interface
(based on Winamp 2.x skins) as well as a separate GTK2 based front end.
Historically, it started as a fork of Beep Media Player (BMP), which
itself forked from XMMS.

This package provides essential plugins for audio input, audio output and
visualization.


%package jack
Summary: Audacious output plugin for Jack Audio Connection Kit
Group: Applications/Multimedia
Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver}

%description jack
This package provides an Audacious output plugin that uses the
Jack Audio Connection Kit (JACK) sound service.


%package esd
Summary: Audacious output plugin for EsounD service
Group: Applications/Multimedia
Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver}

%description esd
This package provides an Audacious output plugin that uses the
EsounD service.


%package amidi
Summary: Audacious input plugin for MIDI
Group: Applications/Multimedia
Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver}

%description amidi
This package provides AMIDI-Plug, a modular MIDI music player, as an
input plugin for Audacious.


%package sid
Summary: Audacious input plugin for SID music files
Group: Applications/Multimedia
Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver}
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

%description sid
This package provides an Audacious input plugin for SID music files.

This build of the plugin uses libsidplay 1. 3rd party package
providers may build it with libsidplay 2.


%package vortex
Summary: Audacious input plugin for Vortex format files
Group: Applications/Multimedia
Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver}

%description vortex
This package provides an Audacious input plugin that reads files
in Vortex (.vtx) format.



%prep
%setup -q -n audacious-plugins-fedora-%{version}-alpha1
%patch0 -p1 -b .xmms-skindir
%patch1 -p1 -b .libdir
%patch2 -p1 -b .neon-session-destroy
%patch3 -p1 -b .lds-out-of-bounds
%patch4 -p1 -b .amidi
%patch5 -p1 -b .projectm-includes

for i in src/ladspa/ladspa.c
do
    sed -i -e 's!__RPM_LIBDIR__!%{_libdir}!g' $i
    sed -i -e 's!__RPM_LIB__!%{_lib}!g' $i
done
grep -q -s __RPM_LIB * -R && exit 1

sed -i '\,^.SILENT:,d' buildsys.mk.in

%build
# --disable-esd
# --enable-neon : experimental, disabled by default
%configure  \
    --enable-chardet  \
    --enable-amidiplug  \
    --enable-neon  \
    \
    --disable-aac  \
    --disable-ffaudio  \
    --disable-mp3  \
    --disable-mms  \
    \
    --disable-oss  \
    --disable-projectm  \
    --disable-sse2  \
    --disable-rpath  \
    --disable-dependency-tracking
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
%find_lang %{name}
# audacious-sid.desktop
desktop-file-install --vendor "" \
    --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
    %{SOURCE1}


%clean
rm -rf $RPM_BUILD_ROOT


%post sid
update-desktop-database &> /dev/null || :

%postun sid
update-desktop-database &> /dev/null || :


%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING
%{_libdir}/audacious/Input/
%{_libdir}/audacious/Output/
%{_libdir}/audacious/Container/
%{_libdir}/audacious/Effect/
%{_libdir}/audacious/General/
%{_libdir}/audacious/Visualization/
%{_libdir}/audacious/Transport/
%exclude %{_libdir}/audacious/Input/amidi-plug.so
%exclude %{_libdir}/audacious/Input/amidi-plug/
%exclude %{_libdir}/audacious/Input/sid.so
%exclude %{_libdir}/audacious/Input/vtx.so
%exclude %{_libdir}/audacious/Output/jackout.so
%exclude %{_libdir}/audacious/Output/ESD.so
%{_datadir}/audacious/

%files jack
%defattr(-,root,root,-)
%{_libdir}/audacious/Output/jackout.so

%files esd
%defattr(-,root,root,-)
%{_libdir}/audacious/Output/ESD.so

%files amidi
%defattr(-,root,root,-)
%{_libdir}/audacious/Input/amidi-plug.so
%{_libdir}/audacious/Input/amidi-plug/

%files sid
%defattr(-,root,root,-)
%{_libdir}/audacious/Input/sid.so
%{_datadir}/applications/audacious-sid.desktop

%files vortex
%defattr(-,root,root,-)
%{_libdir}/audacious/Input/vtx.so


%changelog
* Wed Jun  9 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.4-0.1.alpha1
- No longer available:
   * scrobbler/last.fm plugin (AUDPLUG-179)
   * icecast plugin (AUDPLUG-156)
- Add BR libprojectM-devel, gtkglext-devel, libbs2b-devel
- Merge WavPack plugin into base -plugins package.
- Remove obsolete --disable-libmadtest configure option.
- Remove Provides/Obsoletes for old audacious-plugins-pulseaudio package,
  which were last in Fedora 8.
- Upgrade to 2.4 alpha1.

* Mon Jun  7 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-34
- Don't register window-state-event callback as this makes KDE hang
  when turning on sticky view mode (#601233) (AUDPLUG-178).

* Mon May 31 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-33
- Fix amidi-plug backend loader (#598005) and get_song_tuple.

* Sat Apr 10 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-32
- Fix the gtk_message_dialog_new_with_markup() call as in 2.3.

* Thu Apr  8 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-31
- Merge minor enhancements to the Status Icon patch to improve
  where it pops up with fast mouse movement.

* Fri Mar 19 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-30
- Fix colour array indexing in Scope Mode.

* Fri Mar 19 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-29
- Fix scaled visualization modes.

* Tue Mar 16 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-28
- Avoid div-by-zero crash due to almost empty MIDI files, which
  don't contain any delta-time events (#573851).

* Sat Mar 13 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-27
- Don't accept playlist_font name without space(s) (#573075). 

* Sat Mar 13 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-26
- Don't warn on stderr about missing adplug.db (#573187).

* Thu Mar  4 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-25
- Update icon popup patch for new playlist API to also fix a double-free
  (which made the popup crash with streaming audio).

* Tue Mar  2 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-24
- Patch notification area status icon (fix popup and title changes).

* Mon Feb 15 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-23
- Patch out the tuple/mowgli refcounting in the scrobbler plugin
  worker thread and use tuple_copy() instead. Let's see whether that
  will crash, too (see comment in -22).

* Mon Feb  8 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-22
- Remove scrobbler plugin, since upstream has disabled it by default
  in the post-2.2 tree, because it is believed to cause memory corruption
  that crashes Audacious: http://jira.atheme.org/browse/AUDPLUG-179

* Sat Feb  6 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-21
- Fix streambrowser streaminfo URL Add.

* Sat Feb  6 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-20
- Use John Lindgren's revised patch for the fix in -19
  (which properly frees also the g_build_filename allocated string).

* Fri Feb  5 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-19
- Fix temp file vulnerability in streambrowser plugin.

* Fri Feb  5 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-18
- Destroy neon request+session if ne_read_response_block failed and
  closed the connection. That way we don't call neon lib again with old 
  request+session which then crashes (#562164).

* Thu Feb  4 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-17
- Fix non-top-level ladspa plugin dialogs.

* Thu Feb  4 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-16
- Restore and fix the restore() function in "ladspa" plugin (#561635).
- Substitute hardcoded ladspa search paths in source code.

* Wed Feb  3 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-15
- Prevent race condition crash in streambrowser GUI (#561469).

* Tue Jan 26 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-14
- Fix too many open file descriptors issue in adplug plugin.
- Guard against out-of-bounds array access in adplug .lds decoder.

* Mon Jan 25 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-13
- In neon transport, after error handling set destroyed session
  pointers to NULL, so vfs seek doesn't crash.

* Fri Jan 22 2010 Adrian Reber <adrian@lisas.de> - 2.2-12
- Rebuild for libcdio-0.82 (F-13 Rawhide only)

* Sun Jan 17 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-11
- Rebuild for audacious.pc --libs changes.

* Fri Jan  8 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-10
- In neon transport, after error handling set destroyed request
  pointers to NULL, so vfs read exits early.

* Fri Jan  8 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-9
- Enable modplug plugin again: The code is an "in-progress rewrite [...]
  with many fixes for module formats not available in libmodplug, and is
  built partially on top of the work that the Schism Tracker authors have
  been doing.  Using libmodplug would be a step backwards as far as module
  compatibility goes." (AUDPLUG-158)

* Sat Jan  2 2010 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-8
- Fix stack smashing in ui_svis_expose (#551801).

* Thu Dec 31 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-7
- Fix xspf Container plugin's handling of plain file names.
- Disable modplug plugin (where is it compared with libmodplug and
  its fixes and CVEs?). Give precedence to audacious-plugin-xmp
- Remove BR libmodplug-devel as the modplug plugin has never used
  the external library.

* Wed Dec 30 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-6
- Fix the alarm plugin.

* Fri Dec 25 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-5
- Remove BR libtimidity-devel as that plugin is no longer available.

* Fri Dec 25 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-4
- Let bluetooth plugin access "alsa-gapless" config values not "alsa"
  as it will be called in post-2.2.

* Sat Dec 19 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-3
- Beat bluetooth plugin a bit.
- Fix missing aud_cfg_db_close calls.
- Avoid that neon's ne_request_destroy() is called with a NULL ptr.

* Wed Dec  2 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-2
- Move SID music plugin into audacious-plugins-sid package. Its 
  built with libsidplay 1 while 3rd party package providers may
  build it with libsidplay 2.
- Include metronome plugin in base plugins package. No reason to
  split this off into an optional subpackage.

* Wed Nov 25 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-1
- Upgrade to 2.2 (declared as the next "stable release" after 2.1).
- The ladspa plugin has been reworked since beta2.

* Tue Nov 24 2009 Michael Schwendt <mschwendt@fedoraproject.org>
- BR libcue-devel which is available now and is enabled by default
  post 2.2-beta2
- Drop --disable-tta switch as that plugin is gone.

* Fri Nov 13 2009 Michael Schwendt <mschwendt@fedoraproject.org>
- Remove BR libmpcdec-devel ("musepack" plugin is not available anymore
  after 2.1 as it got removed in favour of "ffaudio"/ffmpeg plugin).

* Tue Nov 10 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.4.beta2
- Upgrade to 2.2-beta2
- Add patch to use old/working ladspa plugin from 2.0.1 (#533641).

* Fri Oct 30 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.4.beta1
- Fix non-top-level filewriter plugin dialogs.

* Sun Oct 25 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.3.beta1
- Update pulse_audio patch with correct get_song_name().

* Sun Oct 25 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.2.beta1
- Patch modplug plugin to remove old cruft and fix playback.

* Thu Oct 22 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.1.beta1
- Upgrade to 2.2-beta1
- Port old pulse_audio plugin from Audacious 2.1
  and patch it to fix volume issues.

* Wed Oct 21 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-7
- Patch pulseaudio plugin to not suffer from precision loss when
  calculating the volume level to save.

* Wed Oct 21 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-6
- Rediff the underruns patch and set buffer_time_min.

* Mon Oct 19 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-5
- Patch pulseaudio plugin to not get confused by volume values passed
  in via callback.

* Sun Oct 18 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.1.alpha2
- Upgrade to 2.2-alpha2 (breaks ALSA output with alsa-plugins-pulseaudio!)

* Sun Sep 20 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.2-0.1.alpha1
- Upgrade to 2.2-alpha1 (primarly for alsa-gapless output plugin).
- Removes pulse_audio output plugin!
- Obsolete patches: timidity-cfg, keep-mixer-open

* Sun Sep 20 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-4
- Patch alsa-ng plugin with some buffer prefilling to fight underruns.
- Merge minor changes from 2.2-alpha1 alsa-ng plugin.

* Thu Jul 30 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-3
- Keep mixer open and not start at only %50 volume.

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

* Tue Jul 14 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-1
- Upgrade to 2.1 final.

* Mon Jun 29 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.1-0.1.beta1
- Upgrade to 2.1beta1.
- Drop merged/obsolete patches.

* Sat Jun  6 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.0.1-0.3
- Make libtimidity not try to open non-existing files.
- Fix non-top-level configure dialogs.

* Sat Jun  6 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 2.0.1-0.1
- Upgrade to 2.0.1.
- Fix sndfile plugin cleanup crash.
- Major spec overhaul, and drop old %%changelog entries.
- Obsolete -arts plugin.
- Multiple different licenses are used for the individual plugins.
- Move amidi-plug directory to amidi subpackage.
- Build with libsndfile plugin for advanced formats in WAV and
  patch it for pause and seek (also fixes #501007).

* Wed May 06 2009 Ralf Ertzinger <ralf@skytale.net> 1.5.1-5
- Fix possible crash on neon buffer underrun (BZ#496413)