File libcanberra.spec of Package libcanberra

#
# spec file for package libcanberra
#
# Copyright (c) 2013 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/
#


%define build_gtk3 1

Name:           libcanberra
Version:        0.30
Release:        0
Summary:        Portable sound event library
License:        LGPL-2.0+
Group:          System/Libraries
Url:            http://0pointer.de/lennart/projects/libcanberra/
Source:         http://0pointer.de/lennart/projects/libcanberra/%{name}-%{version}.tar.xz
Source1:        libcanberra-gtk-module.sh
Source99:       baselibs.conf
#PATCH-FIX-UPSTREAM libcanberra-multi-backend.patch bnc#753243 fdo#51662 dimstar@opensuse.org -- Set the multi backend as default and allow it actually to work.
Patch0:         libcanberra-multi-backend.patch
#PATCH-FIX-UPSTREAM libcanberra-broadway-fix.patch bnc#789066 michael.meeks@suse.com -- mailed to lennart
Patch1:         libcanberra-broadway-fix.patch
BuildRequires:  gtk-doc
BuildRequires:  libltdl-devel
BuildRequires:  lynx
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(glib-2.0) >= 2.32
BuildRequires:  pkgconfig(gtk+-2.0)
%if %build_gtk3
BuildRequires:  pkgconfig(gtk+-3.0)
%endif
BuildRequires:  pkgconfig(libpulse) >= 0.9.11
BuildRequires:  pkgconfig(vorbisfile)
BuildRequires:  pkgconfig(x11)
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%define debug_package_requires libcanberra0 = %{version}-%{release}

%description
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

%package -n libcanberra0
Summary:        Portable sound event library
Group:          System/Libraries
Requires:       libpulse0 >= 0.9.11
Requires:       sound-theme-freedesktop

%description -n libcanberra0
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains the main library.

%package        gtk0
Summary:        Portable sound event library -- GTK+ 2 Library
Group:          System/Libraries

%description gtk0
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains a library to make it easier to use
libcanberra from GTK+ 2 applications.

%if %build_gtk3

%package gtk3-0
Summary:        Portable sound event library -- GTK+ 3 Library
Group:          System/Libraries

%description gtk3-0
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains a library to make it easier to use
libcanberra from GTK+ 3 applications.
%endif

%package gtk-module-common
Summary:        Portable sound event library -- Common Files for GTK+ Modules
Group:          System/Libraries
Recommends:     %{name}-gtk2-module
%if %build_gtk3
Recommends:     %{name}-gtk3-module
%endif

%description gtk-module-common
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains files common to both the GTK+ 2 and GTK+ 3
modules.

%package gtk2-module
Summary:        Portable sound event library -- GTK+ 2 Module
Group:          System/Libraries
Requires:       %{name}-gtk-module-common = %{version}
Supplements:    packageand(libcanberra0:gtk2)

%description gtk2-module
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains a GTK+ 2 module that triggers input feedback
event sounds.

%if %build_gtk3

%package gtk3-module
Summary:        Portable sound event library -- GTK+ 3 Module
Group:          System/Libraries
Requires:       %{name}-gtk-module-common = %{version}
Supplements:    packageand(libcanberra0:gtk3)

%description gtk3-module
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package contains a GTK+ 3 module that triggers input feedback
event sounds.
%endif

%package -n canberra-gtk-play
Summary:        Portable sound event library -- Utility
Group:          System/Libraries
# This package contains a ready sound for gdm
Supplements:    gdm
# This package contains login/logout sound for GNOME
Supplements:    gnome-session
Provides:       %{name}-gtk = %{version}
Obsoletes:      %{name}-gtk < %{version}

%description -n canberra-gtk-play
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package provides the canberra-gtk-play utility.

%package devel
Summary:        Portable sound event library -- Development files
Group:          Development/Libraries/C and C++
Requires:       libcanberra-gtk0 = %{version}
Requires:       libcanberra0 = %{version}
%if %build_gtk3
Requires:       libcanberra-gtk3-0 = %{version}
%endif

%description devel
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops, such as
GNOME. It comes with several backends (ALSA, PulseAudio, null) and is
designed to be portable.

This package provides the development files for libcanberra.

%prep
%setup -q
%patch0 -p1
%patch1 -p1

%build
%configure --with-pic --disable-static --enable-pulse --enable-alsa --enable-null --with-builtin=dso V=1
make %{?_smp_mflags}

%install
%make_install
find %{buildroot}%{_libdir} -name '*.la' -delete -print
%suse_update_desktop_file %{buildroot}%{_datadir}/gnome/autostart/libcanberra-login-sound.desktop
%suse_update_desktop_file %{buildroot}%{_datadir}/gdm/autostart/LoginWindow/libcanberra-ready-sound.desktop
install -D -m755  %{SOURCE1} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/libcanberra-gtk-module.sh
rm %{buildroot}%{_datadir}/doc/libcanberra/README

%clean
rm -rf %{buildroot}

%post -n libcanberra0 -p /sbin/ldconfig

%postun -n libcanberra0 -p /sbin/ldconfig

%post gtk0 -p /sbin/ldconfig

%postun gtk0 -p /sbin/ldconfig

%if %build_gtk3

%post gtk3-0 -p /sbin/ldconfig

%postun gtk3-0 -p /sbin/ldconfig
%endif

%files -n libcanberra0
%defattr(-,root,root)
%doc README LGPL
%{_libdir}/libcanberra.so.*
%dir %{_libdir}/libcanberra-%{version}
%{_libdir}/libcanberra-%{version}/libcanberra-alsa.so
%{_libdir}/libcanberra-%{version}/libcanberra-multi.so
%{_libdir}/libcanberra-%{version}/libcanberra-null.so
%{_libdir}/libcanberra-%{version}/libcanberra-oss.so
%{_libdir}/libcanberra-%{version}/libcanberra-pulse.so

%files gtk0
%defattr(-,root,root)
%{_libdir}/libcanberra-gtk.so.*

%if %build_gtk3

%files gtk3-0
%defattr(-, root, root)
%{_libdir}/libcanberra-gtk3.so.*
%endif

%files gtk-module-common
%defattr(-, root, root)
%dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d
%{_sysconfdir}/X11/xinit/xinitrc.d/libcanberra-gtk-module.sh
%dir %{_libdir}/gnome-settings-daemon-3.0
%dir %{_libdir}/gnome-settings-daemon-3.0/gtk-modules
%{_libdir}/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk-module.desktop

%files gtk2-module
%defattr(-, root, root)
%{_libdir}/gtk-2.0/modules/libcanberra-gtk-module.so

%if %build_gtk3

%files gtk3-module
%defattr(-, root, root)
%{_libdir}/gtk-3.0/modules/libcanberra-gtk*-module.so
%endif

%files -n canberra-gtk-play
%defattr(-,root,root)
%{_bindir}/canberra-gtk-play
%dir %{_datadir}/gnome
%dir %{_datadir}/gnome/autostart
%{_datadir}/gnome/autostart/libcanberra-login-sound.desktop
%dir %{_datadir}/gnome/shutdown
%{_datadir}/gnome/shutdown/libcanberra-logout-sound.sh
%dir %{_datadir}/gdm
%dir %{_datadir}/gdm/autostart
%dir %{_datadir}/gdm/autostart/LoginWindow
%{_datadir}/gdm/autostart/LoginWindow/libcanberra-ready-sound.desktop

%files devel
%defattr(-,root,root)
%doc %{_datadir}/gtk-doc/html/libcanberra
%{_includedir}/canberra.h
%{_includedir}/canberra-gtk.h
%{_libdir}/libcanberra.so
%{_libdir}/libcanberra-gtk.so
%if %build_gtk3
%{_libdir}/libcanberra-gtk3.so
%endif
%{_libdir}/pkgconfig/libcanberra.pc
%{_libdir}/pkgconfig/libcanberra-gtk.pc
%if %build_gtk3
%{_libdir}/pkgconfig/libcanberra-gtk3.pc
%endif
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/*.vapi

%changelog