From de49812990871e1705b64051c35161d5e6400269 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 24 Dec 2018 14:11:38 +0000 Subject: gentoo resync : 24.12.2018 --- media-sound/easytag/Manifest | 11 +- media-sound/easytag/easytag-2.1.8.ebuild | 59 ----- media-sound/easytag/easytag-2.4.3-r1.ebuild | 75 +++++++ media-sound/easytag/easytag-2.4.3.ebuild | 71 ------ .../easytag/files/easytag-2.1.8-desktop.patch | 11 - media-sound/easytag/files/easytag-2.1.8-docs.patch | 14 -- .../easytag/files/easytag-2.1.8-taglib.patch | 11 - .../easytag/files/easytag-2.1.8-werror.patch | 11 - .../files/easytag-2.4.3-ogg-corruption.patch | 246 +++++++++++++++++++++ media-sound/easytag/metadata.xml | 5 +- 10 files changed, 328 insertions(+), 186 deletions(-) delete mode 100644 media-sound/easytag/easytag-2.1.8.ebuild create mode 100644 media-sound/easytag/easytag-2.4.3-r1.ebuild delete mode 100644 media-sound/easytag/easytag-2.4.3.ebuild delete mode 100644 media-sound/easytag/files/easytag-2.1.8-desktop.patch delete mode 100644 media-sound/easytag/files/easytag-2.1.8-docs.patch delete mode 100644 media-sound/easytag/files/easytag-2.1.8-taglib.patch delete mode 100644 media-sound/easytag/files/easytag-2.1.8-werror.patch create mode 100644 media-sound/easytag/files/easytag-2.4.3-ogg-corruption.patch (limited to 'media-sound/easytag') diff --git a/media-sound/easytag/Manifest b/media-sound/easytag/Manifest index fba574a9e7f0..793bf5218169 100644 --- a/media-sound/easytag/Manifest +++ b/media-sound/easytag/Manifest @@ -1,9 +1,4 @@ -AUX easytag-2.1.8-desktop.patch 476 BLAKE2B f66ffc053de79bad4e9e61a60fcd4d0afe79470ce915ca29a46740f6b85e6e3785249a5ce76ee4322f41625d4042ffba761e8c2db192dcaeb71053ab04d091a6 SHA512 82bdc8af5958150037e344f90c06384dfca0597e044a7ad24cf8138fde8212af0d4b2448a1f10f7c78a4bf2324fb5618110763c7ad632578744edd7410129f08 -AUX easytag-2.1.8-docs.patch 270 BLAKE2B 5f8eb00d9ce7c0b97fe523035de4f8535ba4b4f1e37cc24dd546464253430d3cd14cc56e4b54432528f94c6020ed49126635acb2a11f2fb6bb83ac90f2fad928 SHA512 282f0eda4ea992833c8869040b914505bf079408739727e148f32e800f9b95b412d034f92462030760aaa30224f3241f549eefb6bb6ac07038b089f4974e9bb5 -AUX easytag-2.1.8-taglib.patch 398 BLAKE2B 1019cd65b2814ebfa069cbec329e9a389a43d4d5c816b4eeddf4634afeeebbf725c1584cf0887dab7b4092c625e150b2b592ce00fff9d7b20d96ee113bb3fb25 SHA512 eb9c80664c61cf4974b198c4800ffbf5252c5765c1b7069bf442408c89522c86fc272df22d2ac0b1758e0070b4bb2fd1fa9cee8374445d2db34ef37d08386ec2 -AUX easytag-2.1.8-werror.patch 547 BLAKE2B 5b3a07bae07084ba9e73660052cb78332d8230a273ec2e1fde01278a08ff777b67fc4561431731870fd8c2f0ccb8b197ce0b56b9d8bce1348aa8c023d80152c7 SHA512 0367944be501f741e75c61872840282fddbd2503b3bc25f5d5f392a9cb05fa451623acc157dad2f3b415af0f6c396aab23f4927306c15fea5f1b10435a200e2c -DIST easytag-2.1.8.tar.xz 2459496 BLAKE2B 4ba27728071a3a87af72a37cd0337d361ae690c42a70690ef935d4a0fdf27904c0928b448f64fac61194e02f18e04ea26c600f65365e8ea7aa4d76128f7a5d82 SHA512 cf5d92902276b8d462c695aaa0d1072684d60cbfc45d07fb2ac7b345907a775b94665612088b33f3272db22d4b4eb78f4a4e36f2caf6e151a08f640841208e48 +AUX easytag-2.4.3-ogg-corruption.patch 7233 BLAKE2B e0123a9d195a85d80136fc831cdfe1a870346a2f0cf0213a53e0ef51bc82e72db390898df0c8d02ba8865c3571e5d2f8b8faafe0b3750b6cd123e3fe065cc65f SHA512 f25cedb0f09edf987317f395133195f115549503a6c02edfce7e49f1f24d2e5d01920c9b48f41addb2b632d68bb329cbdefc25aec4e56239daa4f7980d33bd10 DIST easytag-2.4.3.tar.xz 1381084 BLAKE2B 22358cd15e53a51f2786ad2a62e5d9eea78e9c8b8127d2820dbd5657d734a9a0e694a6d180ad730b87c8c236e3d3396c9ea4c651df4080d0f4b4dc0e212b945c SHA512 ef596341772ce7da3b7feec2c82a20ca29d25c2496074c469be5b8dd75d2b2718e689310e0d61de53bc29a4f54ce9f853a336e1a35076046fd107afd28699087 -EBUILD easytag-2.1.8.ebuild 1443 BLAKE2B 4e6892fd7c7df21400e032c1863af21ed09106a3aa24498a6da1418a26cccf1ff77de76de2712ea10a2e7724727b7472adbb6336cde5e8417e9a7d96547d8459 SHA512 c55dc94db97b55b0f3f50c1fe0d40749e87ad8620e460a4422dce3cdeabd0ca2c850fb315a40168e0802146ce0f1b6db18152db88183972efd950845c58d5568 -EBUILD easytag-2.4.3.ebuild 1645 BLAKE2B 8ba8ed176a87b9189d6ce6c5ea0cd09cc0b01a3d1e4b5747e5c763f1af5e4bcd241d901470924f3a20518df36f8bfa1b7d6a6a942f7b3fc52970b843d5c2ab80 SHA512 c722d39fd6f08e9999b71914af9e6efe8f263bde9063707a330cfb26c1e200f54e50a2a344f2056d62ad316df8576b00cd5c389078ff7fb26e5771c4cfa12404 -MISC metadata.xml 423 BLAKE2B 8265687f0456937b9ba2700d2d7078e237b5d0dbc04905eec92ee94364c20f9dd4655321b4a5a5788b128b1771e161f5319d056ffaca350f93a988995eae608d SHA512 6cd8c3b87e91a7b0b6b8f6aa4d8e38ab7400fb53fc3653a6f898eec609cd5ce6cb07bab1e3b67ee0c4e1fb91fcaa6e6fb835ce26dcd38cc7090bea5942e71da0 +EBUILD easytag-2.4.3-r1.ebuild 1773 BLAKE2B 35b268fae476589810cb824bb2dbce3fa22e8d34620e968b3c6e8b6e92b4ec1e60733906758f2f963477acc3b7b89c78fb9638b84860985673252452988963ca SHA512 8b91a196a3e34c4c60695d3ff554040db3cbcb4587f53a5c87e3042e1dcb94721296a6ddba046d8d2e25ab45bde25de98c5bbd4a5680d2e2b0b749b60f146d5e +MISC metadata.xml 514 BLAKE2B b5fdb67baedcef2a155492cf00b63b35ae13c7fe214ba657722043bf824e607dfdf3d50deeb24c4ebb2cc704b7deb41d66c8ea8aa2f3b5911a72cb833b9e05a4 SHA512 eb53f395ef50eb4a86865629809332930907f459cd3b7b2d052727e4c25a27fd9e1acd9660fc354eb16ce7f6ff41e323689548e8b8a671e0878344cc0eb9ddc9 diff --git a/media-sound/easytag/easytag-2.1.8.ebuild b/media-sound/easytag/easytag-2.1.8.ebuild deleted file mode 100644 index b7b085725ffe..000000000000 --- a/media-sound/easytag/easytag-2.1.8.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils autotools gnome.org xdg-utils - -DESCRIPTION="GTK+ utility for editing MP2, MP3, MP4, FLAC, Ogg and other media tags" -HOMEPAGE="https://projects.gnome.org/easytag/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" -IUSE="flac mp3 mp4 nls speex vorbis wavpack" - -RDEPEND=">=x11-libs/gtk+-2.24:2 - mp3? ( - >=media-libs/id3lib-3.8.3-r7 - media-libs/libid3tag - ) - flac? ( - media-libs/flac - media-libs/libvorbis - ) - mp4? ( media-libs/taglib[mp4(+)] ) - vorbis? ( media-libs/libvorbis ) - wavpack? ( media-sound/wavpack ) - speex? ( - media-libs/speex - media-libs/libvorbis - )" -DEPEND="${RDEPEND} - dev-util/intltool - virtual/pkgconfig - nls? ( sys-devel/gettext )" - -src_prepare() { - epatch "${FILESDIR}"/${P}-desktop.patch - epatch "${FILESDIR}"/${P}-werror.patch - epatch "${FILESDIR}"/${P}-taglib.patch - epatch "${FILESDIR}"/${P}-docs.patch - eautoreconf -} - -DOCS=( AUTHORS ChangeLog HACKING NEWS README THANKS TODO ) - -src_configure() { - econf \ - $(use_enable nls) \ - $(use_enable mp3) \ - $(use_enable mp3 id3v23) \ - $(use_enable vorbis ogg) \ - $(use_enable speex) \ - $(use_enable flac) \ - $(use_enable mp4) \ - $(use_enable wavpack) -} - -pkg_postinst() { xdg_desktop_database_update; } -pkg_postrm() { xdg_desktop_database_update; } diff --git a/media-sound/easytag/easytag-2.4.3-r1.ebuild b/media-sound/easytag/easytag-2.4.3-r1.ebuild new file mode 100644 index 000000000000..630be7217fa0 --- /dev/null +++ b/media-sound/easytag/easytag-2.4.3-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +GNOME2_LA_PUNT="yes" +inherit gnome2 + +DESCRIPTION="GTK+ utility for editing MP2, MP3, MP4, FLAC, Ogg and other media tags" +HOMEPAGE="https://wiki.gnome.org/Apps/EasyTAG" + +LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" + +IUSE="flac mp3 mp4 nautilus opus speex test vorbis wavpack" +REQUIRED_USE=" + opus? ( vorbis ) + speex? ( vorbis ) +" + +RDEPEND=" + >=dev-libs/glib-2.38:2 + media-libs/libcanberra[gtk3] + >=x11-libs/gtk+-3.10:3 + flac? ( >=media-libs/flac-1.3 ) + mp3? ( + >=media-libs/id3lib-3.8.3-r8 + >=media-libs/libid3tag-0.15.1b-r4 + ) + mp4? ( >=media-libs/taglib-1.9.1[mp4(+)] ) + nautilus? ( gnome-base/nautilus ) + opus? ( + >=media-libs/opus-1.1 + >=media-libs/opusfile-0.4 + ) + speex? ( >=media-libs/speex-1.2_rc1 ) + vorbis? ( + >=media-libs/libogg-1.3.1 + >=media-libs/libvorbis-1.3.4 + ) + wavpack? ( >=media-sound/wavpack-4.70 ) +" +DEPEND="${RDEPEND} + app-text/docbook-xml-dtd:4.4 + app-text/yelp-tools + dev-util/glib-utils + dev-libs/libxml2 + dev-libs/libxslt + >=dev-util/intltool-0.50 + >=sys-devel/gettext-0.18.3.2 + virtual/pkgconfig + test? ( + dev-libs/appstream-glib + >=dev-util/desktop-file-utils-0.22 + ) +" + +PATCHES=( "${FILESDIR}/${P}-ogg-corruption.patch" ) + +src_configure() { + gnome2_src_configure \ + --disable-Werror \ + $(use_enable test appdata-validate) \ + $(use_enable test tests) \ + $(use_enable mp3) \ + $(use_enable mp3 id3v23) \ + $(use_enable nautilus nautilus-actions) \ + $(use_enable vorbis ogg) \ + $(use_enable opus) \ + $(use_enable speex) \ + $(use_enable flac) \ + $(use_enable mp4) \ + $(use_enable wavpack) +} diff --git a/media-sound/easytag/easytag-2.4.3.ebuild b/media-sound/easytag/easytag-2.4.3.ebuild deleted file mode 100644 index c5aaafa076ea..000000000000 --- a/media-sound/easytag/easytag-2.4.3.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME2_LA_PUNT="yes" - -inherit gnome2 - -DESCRIPTION="GTK+ utility for editing MP2, MP3, MP4, FLAC, Ogg and other media tags" -HOMEPAGE="https://wiki.gnome.org/Apps/EasyTAG" - -LICENSE="GPL-2 GPL-2+ LGPL-2 LGPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" - -IUSE="flac mp3 mp4 opus speex test vorbis wavpack" -REQUIRED_USE=" - opus? ( vorbis ) - speex? ( vorbis ) -" - -RDEPEND=" - >=dev-libs/glib-2.38:2 - media-libs/libcanberra[gtk3] - >=x11-libs/gtk+-3.10:3 - flac? ( >=media-libs/flac-1.3 ) - mp3? ( - >=media-libs/id3lib-3.8.3-r8 - >=media-libs/libid3tag-0.15.1b-r4 - ) - mp4? ( >=media-libs/taglib-1.9.1[mp4(+)] ) - opus? ( - >=media-libs/opus-1.1 - >=media-libs/opusfile-0.4 - ) - speex? ( >=media-libs/speex-1.2_rc1 ) - vorbis? ( - >=media-libs/libogg-1.3.1 - >=media-libs/libvorbis-1.3.4 - ) - wavpack? ( >=media-sound/wavpack-4.70 ) -" -DEPEND="${RDEPEND} - app-text/docbook-xml-dtd:4.4 - app-text/yelp-tools - dev-libs/libxml2 - dev-libs/libxslt - >=dev-util/intltool-0.50 - >=sys-devel/gettext-0.18.3.2 - virtual/pkgconfig - !=dev-util/desktop-file-utils-0.22 - ) -" - -src_configure() { - gnome2_src_configure \ - --disable-Werror \ - $(use_enable test appdata-validate) \ - $(use_enable test tests) \ - $(use_enable mp3) \ - $(use_enable mp3 id3v23) \ - $(use_enable vorbis ogg) \ - $(use_enable opus) \ - $(use_enable speex) \ - $(use_enable flac) \ - $(use_enable mp4) \ - $(use_enable wavpack) -} diff --git a/media-sound/easytag/files/easytag-2.1.8-desktop.patch b/media-sound/easytag/files/easytag-2.1.8-desktop.patch deleted file mode 100644 index 6cc72765a65d..000000000000 --- a/media-sound/easytag/files/easytag-2.1.8-desktop.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- easytag.desktop.in -+++ easytag.desktop.in -@@ -6,7 +6,7 @@ - Type=Application - Icon=easytag - Categories=GTK;AudioVideo;AudioVideoEditing; --MimeType=x-directory/normal;inode/directory;audio/x-mp3;audio/x-mpeg;audio/mpeg;application/ogg;audio/x-vorbis+ogg;audio/x-flac;audio/x-musepack;audio/x-ape; -+MimeType=audio/x-mp3;audio/x-mpeg;audio/mpeg;application/ogg;audio/x-vorbis+ogg;audio/x-flac;audio/x-musepack;audio/x-ape; - Exec=easytag %F - Terminal=false - StartupNotify=true diff --git a/media-sound/easytag/files/easytag-2.1.8-docs.patch b/media-sound/easytag/files/easytag-2.1.8-docs.patch deleted file mode 100644 index 1ecb076d0d36..000000000000 --- a/media-sound/easytag/files/easytag-2.1.8-docs.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- Makefile.am -+++ Makefile.am -@@ -197,11 +197,6 @@ - $(AM_V_at)$(POST_UNINSTALL) - test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)" - --dist_doc_DATA = \ -- HACKING \ -- THANKS \ -- TODO -- - dist_noinst_DATA = \ - $(desktop_in_files) \ - $(easytag_headers) \ diff --git a/media-sound/easytag/files/easytag-2.1.8-taglib.patch b/media-sound/easytag/files/easytag-2.1.8-taglib.patch deleted file mode 100644 index d565a7615d77..000000000000 --- a/media-sound/easytag/files/easytag-2.1.8-taglib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- easytag-2.1.8/configure.ac -+++ easytag-2.1.8/configure.ac -@@ -202,7 +202,7 @@ - TAGLIB_DEPS="taglib_c >= 1.6.0" - AS_IF([test "x$enable_mp4" != "xno"], - [PKG_CHECK_EXISTS([$TAGLIB_DEPS], [have_taglib=yes], [have_taglib=no])], -- [have_wavpack=no]) -+ [have_taglib=no]) - - AS_IF([test "x$have_taglib" != "xno"], - [AC_DEFINE([ENABLE_MP4], [], [Define for taglib MP4 support])], diff --git a/media-sound/easytag/files/easytag-2.1.8-werror.patch b/media-sound/easytag/files/easytag-2.1.8-werror.patch deleted file mode 100644 index d7a770665033..000000000000 --- a/media-sound/easytag/files/easytag-2.1.8-werror.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -239,7 +239,7 @@ - AC_MSG_RESULT([$have_ws2])]) - - dnl Check that the compiler accepts the given warning flags. --warning_flags="-Wall -Wstrict-prototypes -Wnested-externs -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs -Werror=declaration-after-statement" -+warning_flags="-Wall -Wstrict-prototypes -Wnested-externs" - - realsave_CFLAGS="$CFLAGS" - for option in $warning_flags; do diff --git a/media-sound/easytag/files/easytag-2.4.3-ogg-corruption.patch b/media-sound/easytag/files/easytag-2.4.3-ogg-corruption.patch new file mode 100644 index 000000000000..7c4a9f619c31 --- /dev/null +++ b/media-sound/easytag/files/easytag-2.4.3-ogg-corruption.patch @@ -0,0 +1,246 @@ +From e5c640ca3f259f1b74e716723345521987a7bd68 Mon Sep 17 00:00:00 2001 +From: David King +Date: Wed, 9 Nov 2016 17:29:34 +0000 +Subject: Do not maintain an open handle on Ogg files + +Only keep a file open for reading long enough to read the necessary +items from the file. Remove the file input stream from EtOggState, as +it is no longer preserved across function calls. + + src/tags/vcedit.c | 92 ++++++++++++++++++++++--------------------------------- + 1 file changed, 36 insertions(+), 56 deletions(-) + +--- b/src/tags/vcedit.c ++++ a/src/tags/vcedit.c +@@ -35,6 +35,7 @@ + struct _EtOggState + { + /*< private >*/ ++ GFileInputStream *in; + #ifdef ENABLE_SPEEX + SpeexHeader *si; + #endif +@@ -125,6 +126,11 @@ + } + #endif /* ENABLE_OPUS */ + ++ if (state->in) ++ { ++ g_object_unref (state->in); ++ } ++ + memset (state, 0, sizeof (*state)); + } + +@@ -239,7 +245,6 @@ + + static gboolean + _fetch_next_packet (EtOggState *s, +- GInputStream *istream, + ogg_packet *p, + ogg_page *page, + GError **error) +@@ -269,8 +274,8 @@ + while (ogg_sync_pageout (s->oy, page) <= 0) + { + buffer = ogg_sync_buffer (s->oy, CHUNKSIZE); ++ bytes = g_input_stream_read (G_INPUT_STREAM (s->in), buffer, ++ CHUNKSIZE, NULL, error); +- bytes = g_input_stream_read (istream, buffer, CHUNKSIZE, NULL, +- error); + ogg_sync_wrote (s->oy, bytes); + + if(bytes == 0) +@@ -303,7 +308,7 @@ + + g_assert (error == NULL || *error == NULL); + ogg_stream_pagein (s->os, page); ++ return _fetch_next_packet (s, p, page, error); +- return _fetch_next_packet (s, istream, p, page, error); + } + } + +@@ -402,13 +407,14 @@ + return FALSE; + } + ++ state->in = istream; + state->oy = g_slice_new (ogg_sync_state); + ogg_sync_init (state->oy); + + while(1) + { + buffer = ogg_sync_buffer (state->oy, CHUNKSIZE); ++ bytes = g_input_stream_read (G_INPUT_STREAM (state->in), buffer, +- bytes = g_input_stream_read (G_INPUT_STREAM (istream), buffer, + CHUNKSIZE, NULL, error); + if (bytes == -1) + { +@@ -648,7 +654,7 @@ + } + + buffer = ogg_sync_buffer (state->oy, CHUNKSIZE); ++ bytes = g_input_stream_read (G_INPUT_STREAM (state->in), buffer, +- bytes = g_input_stream_read (G_INPUT_STREAM (istream), buffer, + CHUNKSIZE, NULL, error); + + if (bytes == -1) +@@ -670,14 +676,11 @@ + + /* Headers are done! */ + g_assert (error == NULL || *error == NULL); +- /* TODO: Handle error during stream close. */ +- g_object_unref (istream); + + return TRUE; + + err: + g_assert (error == NULL || *error != NULL); +- g_object_unref (istream); + vcedit_clear_internals (state); + return FALSE; + } +@@ -699,7 +702,6 @@ + char *buffer; + int bytes; + int needflush = 0, needout = 0; +- GFileInputStream *istream; + GOutputStream *ostream; + gchar *buf; + gsize size; +@@ -707,22 +709,11 @@ + + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + ++ fileinfo = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_SIZE, ++ G_FILE_QUERY_INFO_NONE, NULL, error); +- istream = g_file_read (file, NULL, error); +- +- if (!istream) +- { +- g_assert (error == NULL || *error != NULL); +- return FALSE; +- } +- +- fileinfo = g_file_input_stream_query_info (istream, +- G_FILE_ATTRIBUTE_STANDARD_SIZE, +- NULL, error); +- + if (!fileinfo) + { + g_assert (error == NULL || *error != NULL); +- g_object_unref (istream); + return FALSE; + } + +@@ -783,8 +774,7 @@ + } + } + ++ while (_fetch_next_packet (state, &op, &ogin, error)) +- while (_fetch_next_packet (state, G_INPUT_STREAM (istream), &op, &ogin, +- error)) + { + if (needflush) + { +@@ -960,7 +950,7 @@ + { + /* We copy the rest of the stream (other logical streams) + * through, a page at a time. */ ++ while(1) +- while (1) + { + result = ogg_sync_pageout (state->oy, &ogout); + +@@ -999,7 +989,7 @@ + + buffer = ogg_sync_buffer (state->oy, CHUNKSIZE); + ++ bytes = g_input_stream_read (G_INPUT_STREAM (state->in), buffer, +- bytes = g_input_stream_read (G_INPUT_STREAM (istream), buffer, + CHUNKSIZE, NULL, error); + + if (bytes == -1) +@@ -1017,19 +1007,11 @@ + } + } + ++ + cleanup: + ogg_stream_clear (&streamout); + ogg_packet_clear (&header_comments); + +- if (!g_input_stream_close (G_INPUT_STREAM (istream), NULL, error)) +- { +- /* Ignore the _close() failure, and try the write anyway. */ +- g_warning ("Error closing Ogg file for reading: %s", +- (*error)->message); +- g_clear_error (error); +- } +- +- g_object_unref (istream); + g_free (state->mainbuf); + g_free (state->bookbuf); + state->mainbuf = state->bookbuf = NULL; +@@ -1063,13 +1045,41 @@ + buf = g_memory_output_stream_steal_data (G_MEMORY_OUTPUT_STREAM (ostream)); + size = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (ostream)); + ++ /* At least on Windows, writing to a file with an open-for-reading stream ++ * fails, so close the input stream before writing to the file. */ ++ if (!g_input_stream_close (G_INPUT_STREAM (state->in), NULL, error)) ++ { ++ /* Ignore the _close() failure, and try the write anyway. */ ++ g_warning ("Error closing Ogg file for reading: %s", ++ (*error)->message); ++ g_clear_error (error); ++ } ++ ++ g_object_unref (state->in); ++ state->in = NULL; ++ + /* Write the in-memory data back out to the original file. */ + if (!g_file_replace_contents (file, buf, size, NULL, FALSE, + G_FILE_CREATE_NONE, NULL, NULL, error)) + { ++ GError *tmp_error = NULL; ++ + g_object_unref (ostream); + g_free (buf); + ++ /* Re-open the file for reading, to keep the internal state ++ * consistent. */ ++ state->in = g_file_read (file, NULL, &tmp_error); ++ ++ if (!state->in) ++ { ++ g_warning ("Error opening Ogg file for reading after write failure: %s", ++ tmp_error->message); ++ g_clear_error (&tmp_error); ++ g_assert (error == NULL || *error != NULL); ++ return FALSE; ++ } ++ + g_assert (error == NULL || *error != NULL); + return FALSE; + } +@@ -1077,6 +1087,16 @@ + g_free (buf); + g_object_unref (ostream); + ++ /* Re-open the file, now that the write has completed. */ ++ state->in = g_file_read (file, NULL, error); ++ ++ if (!state->in) ++ { ++ g_assert (error == NULL || *error != NULL); ++ return FALSE; ++ } ++ ++ + return TRUE; + } + +-- +cgit v0.12 + diff --git a/media-sound/easytag/metadata.xml b/media-sound/easytag/metadata.xml index 7636046d6e23..1c503c1ab663 100644 --- a/media-sound/easytag/metadata.xml +++ b/media-sound/easytag/metadata.xml @@ -5,5 +5,8 @@ sound@gentoo.org Gentoo Sound project - a utility for viewing and editing tags for MP3, MP2, FLAC, AAC, MP4 and OGG files. It features a simple and attractive GTK+ interface + Utility for viewing and editing tags for MP3, MP2, FLAC, AAC, MP4 and OGG files. It features a simple and attractive GTK+ interface + + Build gnome-base/nautilus extension + -- cgit v1.2.3