SHA256
1
0
forked from pool/picard
picard/picard.spec
Olaf Hering 4ff1ab618d Accepting request 124381 from home:olh:branches:multimedia:apps
- Update to version 1.0 - 2012-06-02
  - New UI: Extended comparison of existing vs. MB metadata & tags (PICARD-43)
  - Merged the renaming and moving options pages
  - Removed the VA file naming format option (there is now a single format option) (PICARD-159)
  - Add %license% tag
  - Made %writer% available to tagger scripts and plugins with contents of songwriter (PICARD-21)
  - Allow two multi-valued variables to be merged in tagger scripting (PICARD-139)
  - Allow multi-valued variables to be transformed in tagger script and then set back in tags as multi-valued (PICARD-147)
  - Fix $copy not preserving multi-value variables as documented (PICARD-138)
  - Load/save free-text tags for ID3 as TXXX frames (PICARD-148)
  - Fix writing of MusicBrainz Work Id / musicbrainz_workid to tags (PICARD-88)
  - Handle mimetype for embedding cover art from EXIF jpegs (PICARD-27)
  - Change cover art box to open MusicBrainz release rather than Amazon
  - Support manual drag-and-drop of cover art onto a release via cover art box
  - Only open browser on left-click of cover art box (PICARD-190)
  - Fix Lookup in Browser (previously 'tag lookup') for clusters (PICARD-186)
  - Lookup in Browser will now not use MBIDs to lookup unmatched files/clusters
  - Add Date/Country to CD Lookup results dialog (PICARD-198)
  - Fix/reset album folksonomy tag counts while refreshing releases (PICARD-4)
  - Plugins actions can now create sub-menus using the MENU class attribute
  - New plugin hook register_clusterlist_action
  - Display the port Picard is listening on at bottom right status bar (PICARD-191)
  - Make album drops from right hand pane to left default to "unmatched files" again (PICARD-33)
  - Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
  - Update artist translation to use new alias features (primary flag, sort names) (PICARD-200)
  - Deleted tags aren't indicated as changes (PICARD-165)
  - Picard log entries have inaccurate timestamp (PICARD-45)
  - Interface doesn't allow keyboard only management (PICARD-103)
  - Added option to preserve timestamps of tagged files (PICARD-31)
  - Added keyboard shortcut to reload release (PICARD-99)
  - Medium formats weren't listed in order in the "Other versions" menu (PICARD-91)
  - Couldn't select multiple directories in "Add Folder" window on OS X (PICARD-74)

OBS-URL: https://build.opensuse.org/request/show/124381
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/picard?expand=0&rev=26
2012-06-10 22:21:31 +00:00

140 lines
5.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: 1.0
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
Source2: http://dispuutivv.nl/~jan/bonusdisc.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
BuildRequires: python-mutagen
Requires: python-mutagen
%if 0%{?suse_version}
BuildRequires: hicolor-icon-theme
BuildRequires: python-qt4
BuildRequires: update-desktop-files
Requires: python-qt4
%endif
%if 0%{?fedora}
BuildRequires: PyQt4
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%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 %{SOURCE2} ${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}
%post
%icon_theme_cache_post
%postun
%icon_theme_cache_postun
%files
%defattr(-,root,root)
%doc AUTHORS.txt COPYING.txt NEWS.txt
%{_bindir}/picard
%{_libdir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{python_sitearch}/picard*
%{_datadir}/icons/hicolor/*/apps/picard.png
%files lang -f %{name}.lang
%defattr(-,root,root)
%changelog