SHA256
1
0
forked from pool/picard
picard/picard.spec

172 lines
6.0 KiB
RPMSpec

#
# spec file for package picard
#
# Copyright (c) 2012 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/
#
Name: picard
Version: 0.15.1
Release: 0
Summary: The Next Generation MusicBrainz Tagger
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Utilities
Url: http://musicbrainz.org/doc/PicardTagger
Source0: http://ftp.musicbrainz.org/pub/musicbrainz/picard/%{name}-%{version}.tar.gz
# http://wiki.musicbrainz.org/Picard_Plugins
Source1: https://gitorious.org/musicbrainz/addrelease/blobs/raw/master/addrelease.py
Source2: http://dispuutivv.nl/~jan/bonusdisc.py
Source5: http://users.musicbrainz.org/~luks/picard-plugins/featartist.py
Source8: http://users.musicbrainz.org/~brianfreud/SearchAmazon3.py
Source9: http://users.musicbrainz.org/~brianfreud/SearchAMG.py
Source10: http://users.musicbrainz.org/~brianfreud/SearchCastAlbums3.py
Source11: http://users.musicbrainz.org/~brianfreud/SearchDiscogs3.py
Source12: http://users.musicbrainz.org/~brianfreud/SearchFilmMusziek3.py
Source13: http://users.musicbrainz.org/~brianfreud/SearchGMR.py
Source14: http://users.musicbrainz.org/~brianfreud/SearchGoogle3.py
Source15: http://users.musicbrainz.org/~brianfreud/SearchLortelArchives3.py
Source16: http://users.musicbrainz.org/~brianfreud/SearchSoundtrackCollector3.py
Source17: http://users.musicbrainz.org/~brianfreud/SearchSoundtrackINFO3.py
%if 0%{?BUILD_ORIG_ADDON:1}
BuildRequires: ffmpeg-devel
%endif
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: libdiscid-devel
BuildRequires: libofa-devel
BuildRequires: python-devel
%if 0%{?suse_version}
BuildRequires: hicolor-icon-theme
BuildRequires: python-mutagen
BuildRequires: python-qt4
BuildRequires: update-desktop-files
Requires: python-mutagen
%py_requires
%endif
%if 0%{?fedora}
BuildRequires: PyQt4
BuildRequires: python-mutagen
Requires: python-mutagen
%endif
%if 0%{?mandriva_version}
BuildRequires: python-qt4
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{!?py_sitedir: %define py_sitedir %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%{!?py_ver_int: %define py_ver_int %(python -c "import sys; v=sys.version_info[:2]; print '%%d%%d'%%v" 2>/dev/null)}
%if 0%{?py_ver_int} == 24
Requires: python-ctypes
%endif
%description
MusicBrainz Picard is a cross-platform MusicBrainz tag editor written in
Python. Picard Tagger is intended to be the next generation of tagger for
MusicBrainz, with a focus on album oriented tagging as opposed to track based
tagging and cross platform compatibility.
%lang_package
%prep
%setup -q
%build
export CFLAGS="%{optflags}"
cat > %{name}_libdiscid_dummy.c <<-EOF
#include <stdio.h>
#include <discid/discid.h>
int main(void) {
printf("Dummy to generate correct libdiscid.so rpm dependency.\n");
discid_free(discid_new());
return 0;
}
EOF
gcc -Wall -s $CFLAGS -o %{name}_libdiscid_dummy %{name}_libdiscid_dummy.c -ldiscid
# there is some upstream confusion about what the SONAME of libdiscid is supposed to be
libdiscid_so="`readelf --wide --dynamic picard_libdiscid_dummy | sed -n '/(NEEDED).*libdiscid.so/s@^\(.*\[\)\([^]]\+\).*@\2@p'`"
sed -i~ -e "s@^\([[:blank:]]\+\)\(libName[[:blank:]]*=[[:blank:]]*'\)\(libdiscid.so.0\)\('[[:blank:]]*\)@\1\2${libdiscid_so}\4 # was '\3'@" picard/disc.py
if diff -u picard/disc.py~ picard/disc.py ; then : ; fi
#
python setup.py config
python setup.py build
%install
python setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot}
# install plugins
PLUGINDIR=%{buildroot}%{py_sitedir}/picard/plugins/
install -m 0644 %{SOURCE1} ${PLUGINDIR}
install -m 0644 %{SOURCE2} ${PLUGINDIR}
install -m 0644 %{SOURCE5} ${PLUGINDIR}
install -m 0644 %{SOURCE8} ${PLUGINDIR}
install -m 0644 %{SOURCE9} ${PLUGINDIR}
install -m 0644 %{SOURCE10} ${PLUGINDIR}
install -m 0644 %{SOURCE11} ${PLUGINDIR}
install -m 0644 %{SOURCE12} ${PLUGINDIR}
install -m 0644 %{SOURCE13} ${PLUGINDIR}
install -m 0644 %{SOURCE14} ${PLUGINDIR}
install -m 0644 %{SOURCE15} ${PLUGINDIR}
install -m 0644 %{SOURCE16} ${PLUGINDIR}
install -m 0644 %{SOURCE17} ${PLUGINDIR}
%if 0%{?fedora}
desktop-file-install --delete-original --remove-category="Application" \
--dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/%{name}.desktop
%endif
%if 0%{?suse_version}
%suse_update_desktop_file -G "Music Tagger" -N "picard" picard
%endif
%find_lang %{name}
mkdir -vp %{buildroot}/%{_libdir}/%{name}
cp -avL %{name}_libdiscid_dummy %{buildroot}/%{_libdir}/%{name}
%if 0%{?mandriva_version} > 2006
%post
%update_menus
%postun
%clean_menus
%endif
%if 0%{?suse_version} > 1020
%files lang -f %{name}.lang
%defattr(-,root,root)
%if 0%{?suse_version} && 0%{?suse_version} < 1130
%lang(sco) %dir %{_datadir}/locale/sco
%lang(sco) %dir %{_datadir}/locale/sco/LC_MESSAGES
%endif
%files
%defattr(-,root,root)
%else
%files -f %{name}.lang
%defattr(-,root,root)
%endif
%doc AUTHORS.txt COPYING.txt NEWS.txt
%{_bindir}/picard
/%{_libdir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{py_sitedir}/picard*
%{_datadir}/icons/hicolor/16x16/apps/picard.png
%{_datadir}/icons/hicolor/24x24/apps/picard.png
%{_datadir}/icons/hicolor/32x32/apps/picard.png
%{_datadir}/icons/hicolor/48x48/apps/picard.png
%{_datadir}/icons/hicolor/128x128/apps/picard.png
%{_datadir}/icons/hicolor/256x256/apps/picard.png
%changelog