From 0f43e00cd5595cb4ec129da7b67f9019805bcde4 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Wed, 3 Nov 2021 16:40:13 -0400 Subject: [PATCH] import sushi-3.38.1-1.el9 --- .gitignore | 1 + .sushi.metadata | 1 + SOURCES/drop-libmusicbrainz-dep.patch | 244 ++++++++++++++++++ SPECS/sushi.spec | 351 ++++++++++++++++++++++++++ 4 files changed, 597 insertions(+) create mode 100644 .gitignore create mode 100644 .sushi.metadata create mode 100644 SOURCES/drop-libmusicbrainz-dep.patch create mode 100644 SPECS/sushi.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..abed89e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/sushi-3.38.1.tar.xz diff --git a/.sushi.metadata b/.sushi.metadata new file mode 100644 index 0000000..2faf87c --- /dev/null +++ b/.sushi.metadata @@ -0,0 +1 @@ +77f20062895861ecacc94979c5f616e81457d57e SOURCES/sushi-3.38.1.tar.xz diff --git a/SOURCES/drop-libmusicbrainz-dep.patch b/SOURCES/drop-libmusicbrainz-dep.patch new file mode 100644 index 0000000..8f7d0bf --- /dev/null +++ b/SOURCES/drop-libmusicbrainz-dep.patch @@ -0,0 +1,244 @@ +From 93adbd744a52c32879637375885b1df4feff21f4 Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Wed, 14 Jul 2021 16:19:19 +0200 +Subject: [PATCH] Drop libmusicbrainz dependency + +We are only using libmusicbrainz for finding the ASIN code for a +given artist and album. + +With this changes we use libsoup to query the musicbrainz API +directly, allowing for the dependency on libmusicbrainz5 to be +dropped. + +See https://musicbrainz.org/doc/MusicBrainz_API +and https://musicbrainz.org/doc/ASIN +--- + flatpak/org.gnome.NautilusPreviewer.json | 11 --- + meson.build | 1 - + src/libsushi/meson.build | 1 - + src/libsushi/sushi-utils.c | 110 ----------------------- + src/viewers/audio.js | 30 +++++-- + 5 files changed, 23 insertions(+), 130 deletions(-) + +diff --git a/flatpak/org.gnome.NautilusPreviewer.json b/flatpak/org.gnome.NautilusPreviewer.json +index 22502f7..4291a26 100644 +--- a/flatpak/org.gnome.NautilusPreviewer.json ++++ b/flatpak/org.gnome.NautilusPreviewer.json +@@ -86,17 +86,6 @@ + } + ] + }, +- { +- "name": "libmusicbrainz", +- "buildsystem": "cmake", +- "sources": [ +- { +- "type": "archive", +- "url": "https://github.com/metabrainz/libmusicbrainz/releases/download/release-5.1.0/libmusicbrainz-5.1.0.tar.gz", +- "sha256": "6749259e89bbb273f3f5ad7acdffb7c47a2cf8fcaeab4c4695484cef5f4c6b46" +- } +- ] +- }, + { + "name": "gtksourceview", + "config-opts": [ +diff --git a/meson.build b/meson.build +index 21a292a..c712397 100644 +--- a/meson.build ++++ b/meson.build +@@ -21,7 +21,6 @@ gtk_x11_dep = dependency('gtk+-x11-3.0', required: get_option('X11')) + gtk_wayland_dep = dependency('gtk+-wayland-3.0', version: '>= 3.21.5', required: get_option('wayland')) + gtksourceview_dep = dependency('gtksourceview-4', version: '>=4.0.3') + harfbuzz_dep = dependency('harfbuzz', version: '>=0.9.9') +-musicbrainz_dep = dependency('libmusicbrainz5') + webkit_dep = dependency('webkit2gtk-4.0') + + bindir = join_paths(get_option('prefix'), get_option('bindir')) +diff --git a/src/libsushi/meson.build b/src/libsushi/meson.build +index fe2e874..8740954 100644 +--- a/src/libsushi/meson.build ++++ b/src/libsushi/meson.build +@@ -39,7 +39,6 @@ libsushi_deps = [ + gstreamer_video_dep, + gtk_dep, + harfbuzz_dep, +- musicbrainz_dep + ] + + libsushi_sources = [ +diff --git a/src/libsushi/sushi-utils.c b/src/libsushi/sushi-utils.c +index 5096fe4..d39b3f4 100644 +--- a/src/libsushi/sushi-utils.c ++++ b/src/libsushi/sushi-utils.c +@@ -27,7 +27,6 @@ + + #include + #include +-#include + + #ifdef GDK_WINDOWING_X11 + #include +@@ -400,112 +399,3 @@ sushi_pixbuf_from_gst_sample (GstSample *sample, + + return pixbuf; + } +- +-typedef struct { +- gchar *artist; +- gchar *album; +-} FetchUriTaskData; +- +-static void +-fetch_uri_task_data_free (gpointer user_data) +-{ +- FetchUriTaskData *data = user_data; +- +- g_free (data->artist); +- g_free (data->album); +- +- g_slice_free (FetchUriTaskData, data); +-} +- +-static FetchUriTaskData * +-fetch_uri_task_data_new (const gchar *artist, +- const gchar *album) +-{ +- FetchUriTaskData *retval; +- +- retval = g_slice_new0 (FetchUriTaskData); +- retval->artist = g_strdup (artist); +- retval->album = g_strdup (album); +- +- return retval; +-} +- +-static void +-fetch_uri_job (GTask *task, +- gpointer source_object, +- gpointer task_data, +- GCancellable *cancellable) +-{ +- FetchUriTaskData *data = task_data; +- g_autofree gchar *retval = NULL; +- g_auto(GStrv) param_names = NULL, param_values = NULL; +- Mb5Metadata metadata; +- Mb5Query query; +- Mb5Release release; +- Mb5ReleaseList release_list; +- +- query = mb5_query_new ("sushi", NULL, 0); +- +- param_names = g_new (gchar*, 3); +- param_values = g_new (gchar*, 3); +- +- param_names[0] = g_strdup ("query"); +- param_values[0] = g_strdup_printf ("artist:\"%s\" AND release:\"%s\"", data->artist, data->album); +- +- param_names[1] = g_strdup ("limit"); +- param_values[1] = g_strdup ("10"); +- +- param_names[2] = NULL; +- param_values[2] = NULL; +- +- metadata = mb5_query_query (query, "release", "", "", +- 2, param_names, param_values); +- +- mb5_query_delete (query); +- +- if (metadata) { +- release_list = mb5_metadata_get_releaselist (metadata); +- int i; +- int release_list_length = mb5_release_list_size (release_list); +- for (i = 0; i < release_list_length; i++) { +- gchar asin[255]; +- +- release = mb5_release_list_item (release_list, i); +- mb5_release_get_asin (release, asin, 255); +- +- if (asin != NULL && asin[0] != '\0') { +- retval = g_strdup (asin); +- break; +- } +- } +- } +- mb5_metadata_delete (metadata); +- +- if (retval == NULL) +- g_task_return_new_error (task, +- G_IO_ERROR, +- G_IO_ERROR_NOT_FOUND, "%s", +- "Error getting the ASIN from MusicBrainz"); +- else +- g_task_return_pointer (task, g_steal_pointer (&retval), g_free); +-} +- +-gchar * +-sushi_get_asin_for_track_finish (GAsyncResult *result, +- GError **error) +-{ +- return g_task_propagate_pointer (G_TASK (result), error); +-} +- +-void +-sushi_get_asin_for_track (const gchar *artist, +- const gchar *album, +- GAsyncReadyCallback callback, +- gpointer user_data) +-{ +- g_autoptr(GTask) task = g_task_new (NULL, NULL, callback, user_data); +- FetchUriTaskData *data = fetch_uri_task_data_new (artist, album); +- +- g_task_set_task_data (task, data, fetch_uri_task_data_free); +- g_task_run_in_thread (task, fetch_uri_job); +-} +diff --git a/src/viewers/audio.js b/src/viewers/audio.js +index f210165..dba474e 100644 +--- a/src/viewers/audio.js ++++ b/src/viewers/audio.js +@@ -47,6 +47,7 @@ function _formatTimeString(timeVal) { + } + + const AMAZON_IMAGE_FORMAT = "http://images.amazon.com/images/P/%s.01.LZZZZZZZ.jpg"; ++const MUSIC_BRAINZ_ASIN_FORMAT = "https://musicbrainz.org/ws/2/release/?query=release:\"%s\"AND artist:\"%s\"&limit=1&fmt=json&inc=asin"; + const fetchCoverArt = function(_tagList, _callback) { + function _fetchFromTags() { + let coverSample = null; +@@ -191,13 +192,28 @@ const fetchCoverArt = function(_tagList, _callback) { + let artist = _tagList.get_string('artist')[1]; + let album = _tagList.get_string('album')[1]; + +- Sushi.get_asin_for_track(artist, album, (o, res) => { +- let asin +- try { +- asin = Sushi.get_asin_for_track_finish(res); +- } catch (e) { +- done(e, null); +- return; ++ let uri = MUSIC_BRAINZ_ASIN_FORMAT.format(album, artist); ++ let session = new Soup.SessionAsync(); ++ ++ let request; ++ try { ++ request = Soup.Message.new('GET', uri); ++ request.request_headers.append('User-Agent', 'gnome-sushi'); ++ } catch (e) { ++ done(e, null); ++ return; ++ } ++ ++ session.queue_message(request, (r, res) => { ++ let asin = null; ++ if (request.status_code == Soup.Status.OK) { ++ try { ++ let json_response = JSON.parse(request.response_body.data); ++ asin = json_response['release'][0]['asin'].toString(); ++ } catch (e) { ++ done(e, null); ++ return; ++ } + } + + _fetchFromCache(asin, (err, cover) => { +-- +2.31.1 + diff --git a/SPECS/sushi.spec b/SPECS/sushi.spec new file mode 100644 index 0000000..ea6d124 --- /dev/null +++ b/SPECS/sushi.spec @@ -0,0 +1,351 @@ +%global url_ver %%(echo %{version}|cut -d. -f1,2) + +Name: sushi +Version: 3.38.1 +Release: 1%{?dist} +Summary: A quick previewer for Nautilus + +License: GPLv2+ with exceptions +URL: https://gitlab.gnome.org/GNOME/sushi +Source0: https://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz + +Patch0: drop-libmusicbrainz-dep.patch + +BuildRequires: gettext +BuildRequires: gjs-devel +BuildRequires: meson +BuildRequires: pkgconfig(evince-document-3.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gstreamer-audio-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtksourceview-4) +BuildRequires: pkgconfig(webkit2gtk-4.0) + +Obsoletes: sushi-devel < 0.5.1 + +#Description from upstream's README. +%description +This is sushi, a quick previewer for Nautilus, the GNOME desktop +file manager. + + +%prep +%setup -q +%patch0 -p1 + +%build +%meson +%meson_build + + +%install +%meson_install +%find_lang %{name} + + +%files -f %{name}.lang +%doc README AUTHORS NEWS TODO +%license COPYING +%{_bindir}/sushi +%{_libexecdir}/* +%{_libdir}/sushi/ +%{_datadir}/dbus-1/services/org.gnome.NautilusPreviewer.service +%{_datadir}/metainfo/org.gnome.NautilusPreviewer.appdata.xml +%{_datadir}/sushi/ + + +%changelog +* Tue Aug 24 2021 Kalev Lember - 3.38.1-1 +- Update to 3.38.1 + +* Tue Aug 10 2021 Mohan Boddu - 3.38.0-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Jul 15 2021 Felipe Borges - 3.38.0-6 +- Drop libmusicbrainz5 dependency + +* Tue Jun 22 2021 Mohan Boddu - 3.38.0-5 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Fri Apr 16 2021 Mohan Boddu - 3.38.0-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 3.38.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 01 2020 David King - 3.38.0-2 +- Remove unused clutter dependencies + +* Thu Oct 22 2020 Felipe Borges - 3.38.0-1 +- Update to 3.38.0 + +* Wed Sep 23 2020 Felipe Borges - 3.34.0-4 +- Fix crash +- Related: #1880752 + +* Wed Jul 29 2020 Fedora Release Engineering - 3.34.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 3.34.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Sep 10 2019 Kalev Lember - 3.34.0-1 +- Update to 3.34.0 + +* Tue Aug 20 2019 Kalev Lember - 3.33.90-1 +- Update to 3.33.90 + +* Sat Jul 27 2019 Fedora Release Engineering - 3.33.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jul 19 2019 Kalev Lember - 3.33.4-1 +- Update to 3.33.4 + +* Mon Jun 17 2019 Kalev Lember - 3.33.3-1 +- Update to 3.33.3 + +* Mon Mar 11 2019 Kalev Lember - 3.32.0-1 +- Update to 3.32.0 + +* Thu Jan 31 2019 Kalev Lember - 3.31.2-1 +- Update to 3.31.2 +- Switch to the meson build system + +* Thu Sep 06 2018 Kalev Lember - 3.30.0-1 +- Update to 3.30.0 + +* Sat Jul 14 2018 Fedora Release Engineering - 3.28.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Apr 23 2018 Kalev Lember - 3.28.3-1 +- Update to 3.28.3 + +* Fri Apr 20 2018 Kalev Lember - 3.28.2-1 +- Update to 3.28.2 + +* Thu Apr 19 2018 Kalev Lember - 3.28.1-1 +- Update to 3.28.1 + +* Thu Apr 19 2018 Kalev Lember - 3.28.0-1 +- Update to 3.28.0 +- Drop ldconfig scriptlets + +* Fri Feb 09 2018 Fedora Release Engineering - 3.24.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 3.24.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.24.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue May 09 2017 Kalev Lember - 3.24.0-1 +- Update to 3.24.0 + +* Mon Mar 06 2017 Kalev Lember - 3.23.91-1 +- Update to 3.23.91 + +* Sat Feb 11 2017 Fedora Release Engineering - 3.21.91-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Sep 02 2016 Kalev Lember - 3.21.91-1 +- Update to 3.21.91 +- Don't set group tags +- Update the project URL + +* Tue May 17 2016 Kalev Lember - 3.20.0-1 +- Update to 3.20.0 + +* Fri Mar 04 2016 Kalev Lember - 3.19.90-1 +- Update to 3.19.90 + +* Fri Feb 05 2016 Fedora Release Engineering - 3.18.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Sep 22 2015 Kalev Lember - 3.18.0-1 +- Update to 3.18.0 +- Use make_install macro + +* Mon Jul 27 2015 David King - 3.17.4-1 +- Update to 3.17.4 + +* Fri Jun 19 2015 Fedora Release Engineering - 3.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 13 2015 Kalev Lember - 3.16.0-1 +- Update to 3.16.0 + +* Fri Mar 13 2015 David King - 3.15.90-2 +- Fix GSettings scriptlet + +* Tue Mar 10 2015 David King - 3.15.90-1 +- Update to 3.15.90 +- Use license macro for COPYING +- Use pkgconfig for BuildRequires +- Compile GSettings schemas + +* Thu Nov 27 2014 Haikel Guémar - 3.12.0-5 +- Rebuilt against newer libmusicbrainz5 + +* Mon Aug 18 2014 Fedora Release Engineering - 3.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 3.12.0-3 +- Rebuilt for gobject-introspection 1.41.4 + +* Sun Jun 08 2014 Fedora Release Engineering - 3.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Apr 28 2014 Richard Hughes - 3.12.0-1 +- Update to 3.12.0 + +* Thu Feb 20 2014 Kalev Lember - 3.11.90-2 +- Rebuilt for cogl soname bump + +* Thu Feb 20 2014 Richard Hughes - 3.11.90-1 +- Update to 3.11.90 + +* Mon Feb 10 2014 Peter Hutterer - 3.10.0-3 +- Rebuild for libevdev soname bump + +* Wed Feb 05 2014 Kalev Lember - 3.10.0-2 +- Rebuilt for cogl soname bump + +* Wed Sep 25 2013 Kalev Lember - 3.10.0-1 +- Update to 3.10.0 + +* Fri Aug 09 2013 Kalev Lember - 3.8.1-3 +- Rebuilt for cogl 1.15.4 soname bump + +* Sun Aug 04 2013 Fedora Release Engineering - 3.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Apr 16 2013 Kalev Lember - 3.8.1-1 +- Update to 3.8.1 + +* Mon Mar 25 2013 Kalev Lember - 3.8.0-1 +- Update to 3.8.0 + +* Tue Mar 5 2013 Matthias Clasen - 3.7.91-1 +- Update to 3.7.91 + +* Thu Feb 21 2013 Kalev Lember - 3.7.5-2 +- Rebuilt for cogl soname bump + +* Thu Feb 07 2013 Richard Hughes - 3.7.5-1 +- Update to 3.7.5 + +* Fri Jan 25 2013 Peter Robinson 3.7.4-2 +- Rebuild for new cogl + +* Wed Jan 16 2013 Richard Hughes - 3.7.4-1 +- Update to 3.7.4 + +* Fri Dec 21 2012 Kalev Lember - 3.7.3-1 +- Update to 3.7.3 + +* Tue Nov 13 2012 Kalev Lember - 3.6.1-1 +- Update to 3.6.1 + +* Wed Sep 26 2012 Matthias Clasen - 3.6.0-1 +- Update to 3.6.0 + +* Wed Sep 19 2012 Kalev Lember - 3.5.92-1 +- Update to 3.5.92 + +* Thu Aug 30 2012 Bastien Nocera 3.5.90-1 +- Update to 3.5.90 +- Port to libmusicbrainz5 + +* Tue Aug 28 2012 Matthias Clasen - 0.5.5-2 +- Rebuild against new cogl/clutter + +* Wed Aug 22 2012 Richard Hughes - 0.5.5-1 +- Update to 0.5.5 + +* Fri Jul 27 2012 Fedora Release Engineering - 0.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Richard Hughes - 0.5.4-1 +- Update to 0.5.4 + +* Thu Jun 07 2012 Richard Hughes - 0.5.2-1 +- Update to 0.5.2 + +* Sat May 05 2012 Kalev Lember - 0.5.1-1 +- Update to 0.5.1 +- Build with libmusicbrainz4 +- Adjust the spec file for the changes in private library location +- Remove and obsolete the -devel subpackage + +* Tue Apr 17 2012 Kalev Lember - 0.4.1-1 +- Update to 0.4.1 + +* Tue Mar 27 2012 Matthias Clasen - 0.4.0-1 +- Update to 0.4.0 + +* Wed Mar 21 2012 Kalev Lember - 0.3.92-2 +- Rebuild for libevdocument3 soname bump + +* Wed Mar 21 2012 Kalev Lember - 0.3.92-1 +- Update to 0.3.92 + +* Sat Mar 10 2012 Matthias Clasen - 0.3.91-3 +- Rebuild against newer cogl + +* Tue Mar 6 2012 Matthias Clasen - 0.3.91-2 +- Rebuild against newer cogl + +* Mon Mar 5 2012 Matthias Clasen - 0.3.91-1 +- Update to 0.3.91 + +* Sun Feb 26 2012 Matthias Clasen - 0.3.0-4 +- Rebuild against new cogl + +* Thu Jan 19 2012 Matthias Clasen - 0.3.0-3 +- Rebuild against new cogl + +* Sat Jan 14 2012 Fedora Release Engineering - 0.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Matthias Clasen - 0.3.0-1 +- Update to 0.3.0 + +* Thu Nov 24 2011 Matthias Clasen - 0.2.1-3 +- Rebuild against new clutter + +* Wed Oct 26 2011 Fedora Release Engineering - 0.2.1-2 +- Rebuilt for glibc bug#747377 + +* Tue Oct 18 2011 Matthias Clasen - 0.2.1-1 +- Update to 0.2.1 + +* Tue Sep 27 2011 Ray - 0.2.0-1 +- Update to 0.2.0 + +* Tue Sep 20 2011 Matthias Clasen - 0.1.92-2 +- Rebuild against newer clutter + +* Tue Sep 20 2011 Elad Alfassa - 0.1.92-1 +- New upstream release + +* Tue Aug 30 2011 Elad Alfassa - 0.1.90-1 +- New upstream version + +* Tue Jul 26 2011 Matthias Clasen - 0.0.5-1 +- Update to 0.0.5 + +* Sat Jul 09 2011 Elad Alfassa - 0.0.4-1 +- Update to latest upstream version. + +* Mon Jul 04 2011 Elad Alfassa - 0.0.3-3 +- Fix issues from review + +* Sun Jul 03 2011 Elad Alfassa - 0.0.3-2 +- Added AUTHORS NEWS and TODO to doc + +* Sat Jul 02 2011 Elad Alfassa - 0.0.3-1 +- Initial build +