Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37386419
en ru br
ALT Linux repos
S:3.4.7-alt2
5.0: 0.12.1-alt1
4.1: 0.11.6-alt1.M41.1
4.0: 0.9.7-alt1.0.M40.1
3.0: 0.8.8-alt0.5

Group :: Sound
RPM: rhythmbox

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define ver_major 0.12
%define rev %nil

Name: rhythmbox
Version: %ver_major.1
Release: alt1%rev

%def_enable python

Summary: Music Management Application
License: GPL
Group: Sound
Url: http://www.gnome.org/projects/rhythmbox/

%define pkgdocdir %_docdir/%name-%version

Source: ftp://ftp.gnome.org/pub/gnome/sources/%name/%ver_major/%name-%version.tar.bz2
#Source: %name-%version-%rev.tar.bz2

#gw: from Fedora: http://bugzilla.gnome.org/show_bug.cgi?id=499208

Patch1: rhythmbox-0.11.3-force-python-thread-init.patch

# patches from PLD

Patch3: rhythmbox-0.11.6-r6096-pld-alt-link.patch
Patch4: rhythmbox-pld-pyc.patch

%define desktop_file_utils_ver 0.8
%define dbus_ver 0.35
%define glib_ver 2.15.5
%define gconf_ver 2.8.0
%define gnome_media_ver 2.8
%define gstreamer_ver 0.10.12
%define gtk_ver 2.14.0
%define musicbrainz_ver 2.1.0
%define mtp_ver 0.3
%define brasero_ver 0.9.1
%define python_ver 2.3
%define scrollkeeper_ver 0.3.14
%define soup_ver 2.4.0
%define totem_ver 2.24.0

PreReq: scrollkeeper >= %scrollkeeper_ver
PreReq: GConf >= %gconf_ver
Requires: libgtk+2 >= %gtk_ver
Requires: glib2 >= %glib_ver
Requires: gnome-media-common >= %gnome_media_ver
Requires: libdbus-glib >= %dbus_ver
Requires: libmusicbrainz >= %musicbrainz_ver
Requires: libtotem-pl-parser >= %totem_ver

Requires: gstreamer >= %gstreamer_ver
Requires: libgst-plugins >= %gstreamer_ver
Requires: gstreamer(audio-hardware-sink)
Requires: gst-plugins-base
Requires: gst-plugins-good
Requires: gst-plugins-gconf
Requires: notification-daemon

%define _libexecdir %_libdir/%name

BuildPreReq: desktop-file-utils
BuildPreReq: iso-codes-devel intltool gnome-doc-utils libgnome-desktop libSM-devel

BuildRequires: check GConf gcc-c++ gtk-doc imake libavahi-glib-devel
BuildRequires: libglade-devel libhal-devel liblirc-devel
BuildRequires: libmusicbrainz-devel libnotify-devel
BuildRequires: libsexy-devel libstdc++-devel termutils
BuildRequires: xorg-cf-files libgnome-keyring-devel

%if_enabled python
BuildRequires: python-dev >= %python_ver
BuildRequires: python-module-pygobject-devel
BuildRequires: python-module-pygtk-devel
BuildRequires: python-module-gst-devel
BuildRequires: python-modules-encodings
%endif

BuildRequires: autoconf >= 2.53
BuildRequires: automake >= 1.7
BuildRequires: libtool >= 1.4.3
BuildRequires: glib2-devel >= 2.2.0
BuildRequires: intltool >= 0.25
BuildRequires: pkg-config >= 0.14.0
BuildRequires: gnome-doc-utils >= 0.3.2
BuildRequires: gnome-common >= 2.3.0
BuildRequires: rpm >= 4.0.4-alt14

BuildRequires: GConf >= %gconf_ver
BuildRequires: libgtk+2-devel >= %gtk_ver
BuildRequires: gnome-media-devel >= %gnome_media_ver
BuildRequires: libdbus-glib-devel >= %dbus_ver
BuildRequires: libsoup-devel >= %soup_ver
BuildRequires: libeel-devel
BuildRequires: libbrasero-devel >= %brasero_ver
BuildRequires: libmusicbrainz-devel >= %musicbrainz_ver
BuildRequires: libmusicbrainz3-devel libneon-devel libdiscid-devel
BuildRequires: libtotem-pl-parser-devel >= %totem_ver

BuildRequires: gstreamer-devel >= %gstreamer_ver
BuildRequires: gstreamer-utils >= %gstreamer_ver
BuildRequires: gst-plugins-devel >= %gstreamer_ver

BuildRequires: libgpod-devel
BuildRequires: libmtp-devel >= %mtp_ver

Provides: %name-plugins-audiocd
Provides: %name-plugins-generic-player

%if_enabled python
# python bindings are linked into rhythmbox statically
Provides: python%__python_version(rb)
Provides: python%__python_version(rhythmdb)

# FIXME: see https://bugzilla.altlinux.org/show_bug.cgi?id=15775

Provides: python%__python_version(coherence)
Provides: python%__python_version(louie)
%endif

%description
Rhythmbox is an integrated music management application, supporting
a music library, multiple playlists, internet radio, and more.

%package devel
Summary: Development files for Rhythmbox
Group: Development/Other
Requires: %name = %version-%release

%description devel
Files needed to develop applications that manipulate Rhythmbox,
an integrated music management application.

%package devel-doc
Summary: API documentation for Rhythmbox
Group: Development/C
BuildArch: noarch

%description devel-doc
API documentation for Rhythmbox, an integrated music management application.

%package plugins-audioscrobbler
Summary: Audioscrobbler plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release
Requires: libsoup >= %soup_ver

%description plugins-audioscrobbler
Plugin to the Rhythmbox music manager that adds
Audioscrobbler (Last.fm) service support.

%package plugins-cd-recorder
Summary: CD recorder plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release
Requires: brasero >= %brasero_ver

%description plugins-cd-recorder
Plugin to the Rhythmbox music manager that provides
support for recording audio CDs from playlists

%package plugins-daap
Summary: DAAP plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-daap
Plugin to the Rhythmbox music manager that provides
support for DAAP Music Sharing

%package plugins-fmradio
Summary: FM radio plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-fmradio
Plugin to the Rhythmbox music manager that provides
Support for FM radio broadcasting services

%package plugins-ipod
Summary: iPod plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release
%description plugins-ipod
Plugin to the Rhythmbox music manager that adds
support for Apple iPod media player.

%package plugins-mtpdevice
Summary: MTP device plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-mtpdevice
Plugin to the Rhythmbox music manager that adds
support for MTP devices.

%package plugins-iradio
Summary: Internet Radio plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release
%description plugins-iradio
Plugin to the Rhythmbox music manager that provides
support for Internel Radio

%package plugins-lirc
Summary: LIRC plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-lirc
Plugin to the Rhythmbox music manager that adds
Linux Infrared Remote Control support.

%package plugins-mmkeys
Summary: Media Player Keys plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-mmkeys
Plugin to the Rhythmbox music manager that provides
control Rhythmbox using key shortcuts

%package plugins-power-manager
Summary: Power Manager plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-power-manager
Plugin to the Rhythmbox music manager that provides
inhibit Power Manager from suspending the machine while playing

%package plugins-visualizer
Summary: Visualizer plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-visualizer
Plugin to the Rhythmbox music manager that provides
displays visualizations

%package plugins-mozilla
Summary: Browser plugin for Rhythmbox
Group: Sound
Requires: %name = %version-%release

%description plugins-mozilla
Plugin for Mozilla based browsers to handle itms:// links

%package plugins-python
Summary: Python plugin for Rhythmbox
Group: Development/Python
Requires: %name = %version-%release
Requires: python-module-gst

%description plugins-python
Python scripting language capabilities and several Python plugins
to the Rhythmbox music manager.

%package plugins
Summary: All plugins for Rhythmbox
Group: Sound

Requires: %name-plugins-audioscrobbler = %version-%release
Requires: %name-plugins-cd-recorder = %version-%release
Requires: %name-plugins-daap = %version-%release
Requires: %name-plugins-fmradio = %version-%release
Requires: %name-plugins-ipod = %version-%release
Requires: %name-plugins-iradio = %version-%release
Requires: %name-plugins-lirc = %version-%release
Requires: %name-plugins-mmkeys = %version-%release
Requires: %name-plugins-mtpdevice = %version-%release
Requires: %name-plugins-power-manager = %version-%release
Requires: %name-plugins-visualizer = %version-%release
#Requires: %name-plugins-python = %version-%release

%description plugins
This virtual package installs all Rhythmbox plugins

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

#%%patch1 -p1

#%%patch3 -p1
%patch4 -p1

%build
# Temporary hack
%set_verify_elf_method unresolved=relaxed

%autoreconf

export LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
%configure \
--disable-static \
--disable-schemas-install \
--disable-scrollkeeper \
--disable-dependency-tracking \
--enable-lirc \
--with-libbrasero-media \
--with-ipod \
--with-mtp \
--with-mdns=avahi \
--with-gnome-keyring \
%{subst_enable python}

# Non-parallel build

%make

%install
%makeinstall

install -d -m755 %buildroot%pkgdocdir
install -p -m644 AUTHORS DOCUMENTERS MAINTAINERS ChangeLog README* NEWS THANKS %buildroot%pkgdocdir/
bzip2 -9 %buildroot%pkgdocdir/ChangeLog
ln -s %_licensedir/GPL-2 %buildroot%pkgdocdir/COPYING

%find_lang --with-gnome %name

%post
%gconf2_install %name

%preun
if [ $1 = 0 ]; then
%gconf2_uninstall %name
fi

%files -f %name.lang
%_bindir/*
%dir %_libdir/%name
%dir %_libdir/%name/plugins
%_libdir/lib%name-core.so.*
%_libdir/%name/rhythmbox-metadata
%_libdir/%name/plugins/generic-player
%_libdir/%name/plugins/audiocd
%_datadir/%name
%_datadir/applications/*
%_datadir/dbus-1/services/*
%_datadir/icons/hicolor/*/apps/*
%config %_sysconfdir/gconf/schemas/*
%doc %_datadir/gtk-doc/html/%name
%doc %pkgdocdir/AUTHORS
%doc %pkgdocdir/DOCUMENTERS
%doc %pkgdocdir/MAINTAINERS
%doc %pkgdocdir/COPYING
%doc %pkgdocdir/ChangeLog.bz2
%doc %pkgdocdir/NEWS
%doc %pkgdocdir/README
%doc %pkgdocdir/THANKS

%files plugins-audioscrobbler
%_libdir/%name/plugins/audioscrobbler

%files plugins-cd-recorder
%_libdir/%name/plugins/cd-recorder

%files plugins-daap
%_libdir/%name/plugins/daap

%files plugins-fmradio
%_libdir/%name/plugins/fmradio

%files plugins-ipod
%_libdir/%name/plugins/ipod

%files plugins-mtpdevice
%_libdir/%name/plugins/mtpdevice

%files plugins-iradio
%_libdir/%name/plugins/iradio

%files plugins-lirc
%_libdir/%name/plugins/rblirc

%files plugins-mmkeys
%_libdir/%name/plugins/mmkeys

%files plugins-power-manager
%_libdir/%name/plugins/power-manager

%files plugins-visualizer
%_libdir/%name/plugins/visualizer

%files plugins-mozilla
%_libdir/mozilla/plugins/librhythmbox-itms-detection-plugin.so

%if_enabled python
%files plugins-python
%_libdir/%name/plugins/python-console
%_libdir/%name/plugins/artdisplay
%_libdir/%name/plugins/jamendo
%_libdir/%name/plugins/lyrics
%_libdir/%name/plugins/magnatune
%_libdir/%name/plugins/rb
%_libdir/%name/plugins/upnp_coherence
%_libdir/%name/plugins/dontreallyclose
%endif

%files plugins

%exclude %_libdir/lib%name-core.so
%exclude %_libdir/%name/plugins/*/*.la
%exclude %_iconsdir/hicolor/icon-theme.cache
%exclude %_libdir/mozilla/plugins/*.la

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin