# # 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.16 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 Requires: python-qt4 %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 #include 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