File exaile.spec of Package exaile
#
# spec file for package exaile
#
# Copyright (c) 2015 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/
#
%define _name Exaile
Name: exaile
Version: 3.4.5
Release: 0
Summary: Gtk2 Amarok-like music player
License: GPL-3.0+
Group: Productivity/Multimedia/Sound/Players
Url: http://exaile.org/
Source: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FEATURE-UPSTREAM exaile-no-splash-default.patch sor.alexei@meowr.ru -- Do not show splash screen on startup by default.
Patch0: %{name}-no-splash-default.patch
# PATCH-FEATURE-UPSTREAM exaile-mate-screensaver.patch sor.alexei@meowr.ru -- Make screensaverpause plugin work with MATE ScreenSaver.
Patch1: %{name}-mate-screensaver.patch
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: help2man
BuildRequires: python-devel >= 2.6
BuildRequires: python-gobject-devel >= 2.18
BuildRequires: update-desktop-files
Requires: dbus-1-python
Requires: gdk-pixbuf-loader-rsvg
Requires: gstreamer-0_10-plugins-good
Requires: python-gobject >= 2.18
Requires: python-gstreamer010
Requires: python-gtk >= 2.17
Requires: python-mutagen >= 1.10
Recommends: %{name}-lang = %{version}
Recommends: gstreamer-0_10-plugins-bad
Recommends: gstreamer-0_10-plugins-ugly
Recommends: moodbar
Recommends: python-CDDB
Recommends: python-Pillow
Recommends: python-gpod
Recommends: python-notify
Recommends: python-webkitgtk >= 1.1.2
Recommends: udisks2
BuildArch: noarch
%description
Exaile is a media player aiming to be similar to Clementine, but
written in GTK+.
It incorporates many of the cool things from Amarok (and other
media players) like automatic fetching of album art, handling of
large libraries, lyrics fetching, artist/album information via the
wikipedia, last.fm support, optional iPod support (assuming you
have python-gpod installed).
In addition, Exaile also includes a built in shoutcast directory
browser, tabbed playlists (so you can have more than one playlist
open at a time), blacklisting of tracks (so they don't get scanned
into your library), downloading of guitar tablature from
fretplay.com, and submitting played tracks on your iPod to last.fm.
%lang_package
%prep
%setup -q
%patch0 -p1
%patch1 -p1
# Fix locale search location.
sed -i "s|\(locale_path = \).*$|\1'%{_datadir}/locale'|" xl/nls.py
%build
make %{?_smp_mflags}
%install
# Exaile launcher works with LIBINSTALLDIR which is a relative path from %%{_prefix}.
export data=$(python2 -c "import os.path; print(os.path.relpath('%{_datadir}', '%{_prefix}'))")
%make_install PREFIX=%{_prefix} LIBINSTALLDIR="/$data"
dirname $(find %{buildroot}%{_datadir} -type f -name '*.py') | sort -u | while read dir; do
pushd "$dir"
# Fix wrong-script-end-of-line-encoding.
dos2unix *.py
# Add execution bit to scripts with shebangs and remove from others.
ls *.py | while read py; do
if [[ "$(head -c2 "$py"; echo)" == "#!" ]]; then
chmod a+x "$py"
else
chmod a-x "$py"
fi
done
# Fix python-bytecode-inconsistent-mtime (hacky).
rm -f *.pyc *.pyo
touch -c *.py
%py_compile .
popd
done
%fdupes %{buildroot}
%find_lang %{name}
%post
%desktop_database_post
%postun
%desktop_database_postun
%files
%defattr(-,root,root)
%doc COPYING FUTURE README
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{_mandir}/man?/%{name}.?%{?ext_man}
%dir %{_datadir}/dbus-1/
%dir %{_datadir}/dbus-1/services/
%{_datadir}/dbus-1/services/org.%{name}.%{_name}.service
%dir %{_sysconfdir}/xdg/%{name}/
%config %{_sysconfdir}/xdg/%{name}/settings.ini
%dir %{_datadir}/appdata/
%{_datadir}/appdata/%{name}.appdata.xml
%files lang -f %{name}.lang
%defattr(-,root,root)
%changelog