# ChangeLog for dev-libs/totem-pl-parser
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/totem-pl-parser/ChangeLog,v 1.160 2015/06/26 09:21:31 ago Exp $

  26 Jun 2015; Agostino Sarubbo <ago@gentoo.org> totem-pl-parser-3.10.5.ebuild:
  Stable for x86, wrt bug #551814

  21 Jun 2015; Mikle Kolyada <zlogene@gentoo.org> totem-pl-parser-3.10.5.ebuild:
  amd64 stable wrt bug #551814

  10 May 2015; Jeroen Roovers <jer@gentoo.org> metadata.xml:
  media-libs/quvi => media-libs/libquvi

*totem-pl-parser-3.10.5 (01 May 2015)

  01 May 2015; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-3.10.5.ebuild:
  Version bump.

  15 Mar 2015; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.4.ebuild:
  x86 stable, bug 534012

  14 Mar 2015; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.4.ebuild:
  amd64 stable, bug 534012

*totem-pl-parser-3.10.4 (18 Feb 2015)

  18 Feb 2015; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.10.4.ebuild,
  -totem-pl-parser-3.10.2.ebuild, metadata.xml:
  Version bump, drop old

  19 Dec 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.3.ebuild:
  amd64 stable, bug 529964

  18 Dec 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.3.ebuild:
  x86 stable, bug 529964

  13 Nov 2014; Pacho Ramos <pacho@gentoo.org>
  -files/totem-pl-parser-2.32.6-gmime26.patch,
  -files/totem-pl-parser-2.32.6-quvi-0.4.patch,
  -totem-pl-parser-2.32.6-r3.ebuild, -totem-pl-parser-2.32.6.ebuild:
  Drop old (#508854)

*totem-pl-parser-3.10.3 (25 Sep 2014)

  25 Sep 2014; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.10.3.ebuild,
  -totem-pl-parser-3.10.1.ebuild:
  Version bump, drop old

  04 May 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.2.ebuild:
  x86 stable, bug 508862

  04 May 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.2.ebuild:
  amd64 stable, bug 508862

*totem-pl-parser-3.10.2 (29 Mar 2014)

  29 Mar 2014; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.10.2.ebuild,
  -totem-pl-parser-3.10.0.ebuild, -totem-pl-parser-3.4.5.ebuild:
  Version bump, drop old

  09 Mar 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.1.ebuild:
  x86 stable, bug 499954

  09 Mar 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.1.ebuild:
  amd64 stable, bug 499954

  01 Mar 2014; Michał Górny <mgorny@gentoo.org> totem-pl-parser-3.10.0.ebuild,
  totem-pl-parser-3.10.1.ebuild, totem-pl-parser-3.4.5.ebuild:
  Update libgcrypt dep to use slot :0.

  22 Feb 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.1.ebuild,
  totem-pl-parser-3.4.5.ebuild:
  Fix wrong commit, bug 502160

  22 Feb 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.1.ebuild,
  totem-pl-parser-3.4.5.ebuild:
  Fix wrong commit, bug 502160

*totem-pl-parser-3.10.1 (20 Feb 2014)

  20 Feb 2014; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.10.1.ebuild:
  Version bump

  10 Feb 2014; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.10.0.ebuild,
  totem-pl-parser-3.4.5.ebuild:
  Prevent people from using incompatible quvi (#500586), rekeyword after masking
  the flag causing the keyword lose

  26 Dec 2013; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-3.10.0.ebuild:
  Drop leading whitespace in keywords

*totem-pl-parser-3.10.0 (24 Dec 2013)

  24 Dec 2013; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.10.0.ebuild:
  Version bump for Gnome 3.10

  08 Dec 2013; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.4.5.ebuild:
  x86 stable, bug #478252

  30 Nov 2013; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.4.5.ebuild:
  amd64 stable, bug #478252

  30 Aug 2013; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-3.4.3-r1.ebuild, -totem-pl-parser-3.4.4.ebuild,
  totem-pl-parser-3.4.5.ebuild, -files/totem-pl-parser-2.32.3-fix-quvi.patch,
  -files/totem-pl-parser-3.4.3-no-g_clear_pointer.patch:
  Depend on libsoup-gnome again, clean up old revisions.

*totem-pl-parser-3.4.5 (14 May 2013)

  14 May 2013; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.4.5.ebuild,
  -totem-pl-parser-2.32.6-r1.ebuild:
  Version bump, drop old

  01 Apr 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for sparc, wrt bug #458984

  01 Apr 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for alpha, wrt bug #458984

  31 Mar 2013; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.4.4.ebuild:
  Adapt to libsoup-2.42 dropping gnome USE and splitting (#463702)

  29 Mar 2013; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-3.4.4.ebuild:
  Be ready for unsplitted libsoup (#463748)

  29 Mar 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for ia64, wrt bug #458984

*totem-pl-parser-3.4.4 (28 Mar 2013)

  28 Mar 2013; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-3.4.4.ebuild:
  Version bump for Gnome 3.8

  28 Mar 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for arm, wrt bug #458984

  25 Mar 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for x86, wrt bug #458984

  25 Mar 2013; Agostino Sarubbo <ago@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild:
  Stable for amd64, wrt bug #458984

  06 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-3.4.3.ebuild:
  Clean up old revision.

  29 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild, totem-pl-parser-3.4.3-r1.ebuild:
  Add missing gnome-common build dependency (bug #445000, thanks to Dennis
  Lichtenthäler et al.)

  27 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  totem-pl-parser-2.32.6-r3.ebuild, totem-pl-parser-3.4.3-r1.ebuild:
  Add gobject-introspection-common dependency.

*totem-pl-parser-3.4.3-r1 (26 Nov 2012)
*totem-pl-parser-2.32.6-r3 (26 Nov 2012)

  26 Nov 2012; Pacho Ramos <pacho@gentoo.org>
  +files/totem-pl-parser-2.32.6-gmime26.patch,
  +totem-pl-parser-2.32.6-r3.ebuild, +totem-pl-parser-3.4.3-r1.ebuild,
  -totem-pl-parser-2.32.6-r2.ebuild, totem-pl-parser-2.32.6-r1.ebuild:
  Really build against gmime-2.6 with upstream accepted patch, will be fixed in
  next release coming from 'master' branch. Drop 'doc' USE flag as it only
  rebuilds documentation. Rekeyword on ppc* because they were dropped due quvi
  split but later forgotten to get them recovered on totem-pl-parser, leading
  this arches to be stuck with older versions.

  07 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  +totem-pl-parser-2.32.6.ebuild:
  Restore deleted 2.32.6 ebuild, needed for 'ppc ppc64' stable keywords for
  brasero.

  25 Sep 2012; Anthony G. Basile <blueness@gentoo.org>
  totem-pl-parser-3.4.3.ebuild:
  Keyword ~ppc ~ppc64, bug #386611

*totem-pl-parser-2.32.6-r2 (22 Sep 2012)

  22 Sep 2012; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-2.32.6-r2.ebuild,
  -totem-pl-parser-2.32.6.ebuild, -totem-pl-parser-3.4.2.ebuild:
  Revision bump to use gmime-2.6 instead of old 2.4 slot.

  18 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  totem-pl-parser-3.4.3.ebuild,
  +files/totem-pl-parser-3.4.3-no-g_clear_pointer.patch:
  Fix build error with <glib-2.33 (bug #435408, thanks to Marien Zwart).

*totem-pl-parser-3.4.3 (18 Sep 2012)

  18 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  -totem-pl-parser-2.32.3.ebuild, -totem-pl-parser-2.32.5.ebuild,
  -totem-pl-parser-2.32.5-r1.ebuild, totem-pl-parser-2.32.6.ebuild,
  totem-pl-parser-2.32.6-r1.ebuild, totem-pl-parser-3.4.2.ebuild,
  +totem-pl-parser-3.4.3.ebuild:
  Version bump with various bugfixes. Make LICENSE more precise. Drop old.

  21 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  totem-pl-parser-3.4.2.ebuild:
  Add missing test USE flag, thanks to Michael Sterrett.

*totem-pl-parser-3.4.2 (19 May 2012)

  19 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  +totem-pl-parser-3.4.2.ebuild:
  Version bump for gnome-3.4, now supports encrypted AMZ files from Amazon MP3.

  25 Mar 2012; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.32.6-r1.ebuild:
  alpha/ia64/sparc stable wrt #393007

  18 Jan 2012; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.32.6-r1.ebuild:
  arm stable, bug #393007

  14 Jan 2012; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.32.6-r1.ebuild:
  x86 stable, bug #393007

  29 Dec 2011; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.32.6-r1.ebuild:
  amd64 stable, bug 393007

  30 Oct 2011; Raúl Porcel <armin76@gentoo.org> totem-pl-parser-2.32.6.ebuild:
  alpha/ia64/sparc stable wrt #385699

  28 Oct 2011; Markus Meier <maekke@gentoo.org> totem-pl-parser-2.32.6.ebuild:
  arm stable, bug #385699

  21 Oct 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  totem-pl-parser-2.32.6.ebuild:
  x86 stable wrt bug #385699

  19 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
  totem-pl-parser-2.32.6-r1.ebuild:
  Restore accidentally dropped ~alpha, ~arm, ~ia64, ~sparc, ~x86-fbsd keywords;
  the "quvi" USE flag is masked on these arches, so the quvi/libquvi change
  does not affect them.

*totem-pl-parser-2.32.6-r1 (19 Oct 2011)

  19 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
  +totem-pl-parser-2.32.6-r1.ebuild,
  +files/totem-pl-parser-2.32.6-quvi-0.4.patch:
  Change dependency from quvi to libquvi per Tim Harder's recommendation (and
  drop keywords accordingly). Add libquvi-0.4 compatibility patch (deprecated
  "video" interface was removed during libquvi-0.2.20 development); fixes
  bug #386651. Many thanks to Marien Zwart for the patch and to the many users
  in the bug's CC list for testing. Patch has not yet been applied upstream
  (see https://bugzilla.gnome.org/show_bug.cgi?id=661451), but is obviously
  correct by inspection.

  16 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org>
  totem-pl-parser-2.32.6.ebuild:
  ppc/ppc64 stable wrt #385699

  14 Oct 2011; Samuli Suominen <ssuominen@gentoo.org>
  totem-pl-parser-2.32.6.ebuild:
  amd64 stable wrt #385699

  05 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org>
  totem-pl-parser-2.32.5.ebuild:
  ppc/ppc64 stable wrt #369909

*totem-pl-parser-2.32.6 (22 Sep 2011)

  22 Sep 2011; Pacho Ramos <pacho@gentoo.org> +totem-pl-parser-2.32.6.ebuild:
  Version bump.

*totem-pl-parser-2.32.5-r1 (16 Aug 2011)

  16 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
  -totem-pl-parser-2.32.4.ebuild, +totem-pl-parser-2.32.5-r1.ebuild:
  Bump to 2.32.5-r1 with introspection unmasked, for totem. Remove old.

  13 Aug 2011; Raúl Porcel <armin76@gentoo.org> totem-pl-parser-2.32.5.ebuild:
  alpha/ia64/sparc stable wrt #369909

  17 Jul 2011; Markus Meier <maekke@gentoo.org> totem-pl-parser-2.32.5.ebuild:
  arm stable, bug #369909

  14 Jul 2011; Thomas Kahle <tomka@gentoo.org> totem-pl-parser-2.32.5.ebuild:
  x86 stable per bug 369909

  01 Jul 2011; Markos Chandras <hwoarang@gentoo.org>
  totem-pl-parser-2.32.5.ebuild:
  Stable on amd64 wrt bug #278255

  15 Jun 2011; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.32.5.ebuild:
  Prepare to set 'xz' as default compressor for eapi4.

  05 Jun 2011; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.32.3.ebuild:
  Add missing gnome-common to DEPEND, bug #369677.

*totem-pl-parser-2.32.5 (14 May 2011)

  14 May 2011; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.32.5.ebuild, metadata.xml:
  Version bump. Fix iTunes podcast parsing, add libarchive support and add
  support for new quvi properties.

  02 Apr 2011; Pacho Ramos <pacho@gentoo.org> -totem-pl-parser-2.30.1.ebuild,
  -totem-pl-parser-2.30.4.ebuild, totem-pl-parser-2.32.4.ebuild:
  Pull fixed quvi version (bug #355903) and enable it by default as it's now
  the only way of playing youtube videos. Commend unneeded ebuild parts when
  eautoreconf is not used. Remove old

  23 Mar 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
  +files/totem-pl-parser-2.32.3-fix-quvi.patch:
  Re-add patch file, fixes bug 360151

  22 Mar 2011; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.32.3.ebuild:
  Marking totem-pl-parser-2.32.3 ppc stable for bug 353436

*totem-pl-parser-2.32.4 (22 Mar 2011)

  22 Mar 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
  -totem-pl-parser-2.32.3-r1.ebuild,
  -files/totem-pl-parser-2.32.3-fix-quvi.patch,
  +totem-pl-parser-2.32.4.ebuild:
  Bump to 2.32.4, remove old

  21 Mar 2011; Kacper Kowalik <xarthisius@gentoo.org>
  totem-pl-parser-2.32.3.ebuild:
  ppc64 stable wrt #353436

  18 Mar 2011; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.32.3.ebuild,
  totem-pl-parser-2.32.3-r1.ebuild:
  Readd x86-fbsd keywords as they don't need to be dropped (yet) if we use.mask
  quvi for them.

  12 Mar 2011; Raúl Porcel <armin76@gentoo.org> totem-pl-parser-2.32.3.ebuild:
  alpha/arm/ia64/sparc stable wrt #353436

  24 Feb 2011; Thomas Kahle <tomka@gentoo.org> totem-pl-parser-2.32.3.ebuild:
  x86 stable per bug 353436

  23 Feb 2011; Markos Chandras <hwoarang@gentoo.org>
  totem-pl-parser-2.32.3.ebuild:
  Stable on amd64 wrt bug #353436

  22 Feb 2011; Pacho Ramos <pacho@gentoo.org> -totem-pl-parser-2.32.2.ebuild,
  totem-pl-parser-2.32.3.ebuild, totem-pl-parser-2.32.3-r1.ebuild:
  Fix building without dev-libs/gobject-introspection (bug #355979 by Timo A.
  Hummel). Remove old.

*totem-pl-parser-2.32.3-r1 (21 Feb 2011)

  21 Feb 2011; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.32.3.ebuild,
  +totem-pl-parser-2.32.3-r1.ebuild:
  Stable candidate won't have quvi support due bug #355903, keep it in testing
  as talked with Nirbheek.

  21 Feb 2011; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.32.3.ebuild,
  +files/totem-pl-parser-2.32.3-fix-quvi.patch:
  Fix --enable-quvi configure option.

*totem-pl-parser-2.32.3 (21 Feb 2011)

  21 Feb 2011; Pacho Ramos <pacho@gentoo.org> -totem-pl-parser-2.32.1.ebuild,
  +totem-pl-parser-2.32.3.ebuild:
  Version bump with bugfixes, remove old.

  30 Jan 2011; Raúl Porcel <armin76@gentoo.org> totem-pl-parser-2.30.4.ebuild:
  alpha/arm/ia64/sparc stable wrt #348987

  30 Jan 2011; Raúl Porcel <armin76@gentoo.org> totem-pl-parser-2.32.2.ebuild:
  Re-add ~alpha/~arm/~ia64/~sparc wrt #353173

*totem-pl-parser-2.32.2 (29 Jan 2011)

  29 Jan 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
  +totem-pl-parser-2.32.2.ebuild:
  Bump to 2.32.2, parsing bugfixes, quvi support

  23 Jan 2011; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.30.4.ebuild, -totem-pl-parser-2.32.0.ebuild,
  totem-pl-parser-2.32.1.ebuild:
  Disable test suite items requiring network access, bug #346127. Drop old
  revision.

  19 Jan 2011; Markos Chandras <hwoarang@gentoo.org>
  totem-pl-parser-2.30.4.ebuild:
  Stable on amd64 wrt bug #348987

  18 Jan 2011; Christian Faulhammer <fauli@gentoo.org>
  totem-pl-parser-2.30.4.ebuild:
  x86 stable, bug 348987

  01 Nov 2010; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.30.1.ebuild, totem-pl-parser-2.30.4.ebuild:
  Replace unbreakable space by regular whitespace, bug #343547.

*totem-pl-parser-2.32.1 (22 Oct 2010)

  22 Oct 2010; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.32.1.ebuild:
  Version bump. Fix introspection, some parsing issues and signal ordering
  issues.

  21 Oct 2010; Gilles Dartiguelongue <eva@gentoo.org>
  -files/totem-pl-parser-2.26.1-fix-tests-without-gtk-doc.patch,
  -totem-pl-parser-2.26.3-r1.ebuild,
  -files/totem-pl-parser-2.26.3-no-libcamel-use-gmime.patch,
  -totem-pl-parser-2.28.2.ebuild, -totem-pl-parser-2.28.3.ebuild,
  -totem-pl-parser-2.30.2.ebuild, -totem-pl-parser-2.30.3.ebuild:
  Clean up old revisions.

  17 Oct 2010; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  alpha/ia64/sparc stable wrt #324077

  14 Oct 2010; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  arm stable, bug #324077

*totem-pl-parser-2.32.0 (09 Oct 2010)

  09 Oct 2010; Pacho Ramos <pacho@gentoo.org>
  +totem-pl-parser-2.32.0.ebuild:
  Version bump for Gnome 2.32: updated translation and fix introspection
  support. Changed the way for running tests since otherwise they fail.

  09 Oct 2010; Samuli Suominen <ssuominen@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  ppc64 stable wrt #324077

*totem-pl-parser-2.30.4 (28 Sep 2010)

  28 Sep 2010; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.30.4.ebuild:
  Version bump. API doc update.

*totem-pl-parser-2.30.3 (13 Sep 2010)

  13 Sep 2010; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.30.3.ebuild:
  Version bump. Fix parsing of m3u and mp4.

  11 Sep 2010; Joseph Jezak <josejx@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  Marked ppc for bug #324077.

*totem-pl-parser-2.30.2 (15 Aug 2010)

  15 Aug 2010; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.30.1.ebuild, +totem-pl-parser-2.30.2.ebuild:
  Version bump, needs libsoup-gnome-2.30. Add missing gobject-introspection
  in DEPEND.

  15 Aug 2010; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  Raise glib and gtk-doc-am dependencies. Add missing preserve_old_lib
  calls. Remove deprecated src_prepare code. Explicit dependency on gmime
  2.4 slot. Add introspection USE flag to avoid automagic activation.

  14 Aug 2010; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.28.2.ebuild:
  alpha/ia64/sparc stable wrt #314899

  01 Aug 2010; Christian Faulhammer <fauli@gentoo.org>
  totem-pl-parser-2.30.1.ebuild:
  x86 stable, bug 324077

  31 Jul 2010; Pacho Ramos <pacho@gentoo.org> totem-pl-parser-2.30.1.ebuild:
  amd64 stable, bug 324077

  20 Jul 2010; Jeroen Roovers <jer@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild, totem-pl-parser-2.28.2.ebuild,
  totem-pl-parser-2.28.3.ebuild, totem-pl-parser-2.30.1.ebuild:
  Drop HPPA keywording (bug #324511).

  11 Jul 2010; Pacho Ramos <pacho@gentoo.org>
  -totem-pl-parser-2.26.2.ebuild:
  Drop old.

*totem-pl-parser-2.30.1 (13 Jun 2010)

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org>
  +totem-pl-parser-2.30.1.ebuild:
  Add new version for Gnome 2.30.

  04 Jun 2010; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.28.2.ebuild:
  x86 stable, bug #314899

  22 May 2010; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.28.2.ebuild, totem-pl-parser-2.28.3.ebuild:
  Add ~arm

*totem-pl-parser-2.28.3 (14 May 2010)

  14 May 2010; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.26.2.ebuild, +totem-pl-parser-2.28.3.ebuild,
  metadata.xml:
  Version bump. Various bug fixes, introspection support, filtered test
  suite enabled.

  03 May 2010; Olivier Crête <tester@gentoo.org>
  totem-pl-parser-2.28.2.ebuild:
  amd64 stable, bug #314899

  05 Apr 2010; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  alpha/arm/ia64/sparc stable wrt #308549

  16 Mar 2010; Christian Faulhammer <fauli@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  stable x86, bug 308549

  15 Mar 2010; nixnut <nixnut@gentoo.org> totem-pl-parser-2.26.3-r1.ebuild:
  ppc stable #308549

  12 Mar 2010; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  Marking totem-pl-parser-2.26.3-r1 ppc64 stable for bug 308549

  11 Mar 2010; Pacho Ramos <pacho@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  amd64 stable, bug 308549

  24 Feb 2010; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-2.24.4.ebuild, -totem-pl-parser-2.26.3.ebuild,
  -totem-pl-parser-2.28.1.ebuild:
  Clean up old revisions.

  18 Jan 2010; Jeroen Roovers <jer@gentoo.org>
  totem-pl-parser-2.26.2.ebuild, totem-pl-parser-2.26.3.ebuild,
  totem-pl-parser-2.26.3-r1.ebuild, totem-pl-parser-2.28.1.ebuild,
  totem-pl-parser-2.28.2.ebuild:
  Stable for HPPA (bug #281427).

  10 Jan 2010; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  add ~arm, bug #290772

*totem-pl-parser-2.28.2 (13 Dec 2009)

  13 Dec 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.28.2.ebuild:
  Version bump. SMIL support, threadsafe, bug fixes.

  06 Dec 2009; Gilles Dartiguelongue <eva@gentoo.org>
  totem-pl-parser-2.26.2.ebuild, totem-pl-parser-2.26.3.ebuild,
  totem-pl-parser-2.26.3-r1.ebuild, totem-pl-parser-2.28.1.ebuild:
  Removing unused IUSE=hal.

  03 Dec 2009; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.26.2.ebuild:
  Marking totem-pl-parser-2.26.2 ppc64 stable for bug 281427

  28 Nov 2009; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.26.2.ebuild:
  alpha/ia64/sparc stable wrt #281427

  05 Nov 2009; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.26.2.ebuild:
  arm stable, bug #281427

*totem-pl-parser-2.28.1 (29 Oct 2009)

  29 Oct 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.28.1.ebuild:
  New version for GNOME 2.28.

  27 Oct 2009; Romain Perier <mrpouet@gentoo.org>
  totem-pl-parser-2.26.3-r1.ebuild:
  Add intltoolize before eautoreconf.

*totem-pl-parser-2.26.3-r1 (27 Oct 2009)

  27 Oct 2009; Romain Perier <mrpouet@gentoo.org>
  +totem-pl-parser-2.26.3-r1.ebuild,
  +files/totem-pl-parser-2.26.3-no-libcamel-use-gmime.patch:
  Use gmime instead of libcamel removing the e-d-s dependency, GNOME Bug
  522639 and GNOME Bug 589559, patch wrote by nirbheek, drop ~arm due
  to gmime:2.4 (need to be rekeyworded).

  24 Oct 2009; nixnut <nixnut@gentoo.org> totem-pl-parser-2.26.2.ebuild:
  ppc stable #281427

*totem-pl-parser-2.26.3 (19 Oct 2009)

  19 Oct 2009; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-2.26.1.ebuild, +totem-pl-parser-2.26.3.ebuild:
  Version bump. Small bug fixes (dvd isos, m3u). Clean up old revision.

  16 Oct 2009; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.26.2.ebuild:
  x86 stable, bug #281427

  08 Oct 2009; Olivier Crête <tester@gentoo.org>
  totem-pl-parser-2.26.2.ebuild:
  Stable on amd64, bug #281427

*totem-pl-parser-2.26.2 (16 May 2009)

  16 May 2009; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-2.22.3.ebuild, -totem-pl-parser-2.24.3.ebuild,
  +totem-pl-parser-2.26.2.ebuild:
  Bump to 2.26.2. Parsing fixes, clean up old revisions. Add missing
  gtk-doc-am in case eautoreconf is called.

  05 May 2009; Nirbheek Chauhan <nirbheek@gentoo.org>
  totem-pl-parser-2.26.1.ebuild:
  Better fix for GTKDOC_REBASE problem (from totem ebuild in-overlay) --
  thanks to eva for pointing it out

  05 May 2009; Nirbheek Chauhan <nirbheek@gentoo.org>
  totem-pl-parser-2.26.1.ebuild,
  +files/totem-pl-parser-2.26.1-fix-tests-without-gtk-doc.patch:
  dev-util/gtk-doc-1.11 is in-tree (bug 267940), re-add USE=doc. Also,
  fix RESTRICT=test, upstream bgnomeo 577774

  30 Apr 2009; Daniel Gryniewicz <dang@gentoo.org>
  totem-pl-parser-2.26.1.ebuild:
  Disable doc until new gtk-doc is in the tree; bug #267940

*totem-pl-parser-2.26.1 (29 Apr 2009)

  29 Apr 2009; Daniel Gryniewicz <dang@gentoo.org>
  +totem-pl-parser-2.26.1.ebuild:
  Add totem-pl-parser-2.26.1, since rhythmbox needs it

  28 Apr 2009; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  arm stable

  12 Apr 2009; Friedrich Oslage <bluebird@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  Stable on sparc, bug #260063

  04 Apr 2009; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  Add ~arm

  18 Mar 2009; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  alpha/ia64 stable wrt #260063

  15 Mar 2009; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  x86 stable, bug #260063

  11 Mar 2009; Daniel Gryniewicz <dang@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  Marked stable on amd64

  06 Mar 2009; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  Marking totem-pl-parser-2.24.4 ppc stable for bug 260063

  05 Mar 2009; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.24.4.ebuild:
  Marking totem-pl-parser-2.24.4 ppc64 stable for bug 260063

*totem-pl-parser-2.24.4 (20 Feb 2009)

  20 Feb 2009; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-2.24.2.ebuild, +totem-pl-parser-2.24.4.ebuild:
  Bump to 2.24.4. Fix a small bug and a crash.

*totem-pl-parser-2.24.3 (21 Dec 2008)

  21 Dec 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.24.3.ebuild:
  Bump to 2.24.3. Bug fixes.

  13 Nov 2008; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  Marking totem-pl-parser-2.22.3 ppc64 stable for bug 236971

*totem-pl-parser-2.24.2 (02 Nov 2008)

  02 Nov 2008; Mart Raudsepp <leio@gentoo.org>
  -totem-pl-parser-2.24.1.ebuild, +totem-pl-parser-2.24.2.ebuild:
  Version bump. Fixes M3U parsing in regards to mime types, fixes
  totem-python regarding a missing symbol export

*totem-pl-parser-2.24.1 (20 Oct 2008)

  20 Oct 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.24.1.ebuild:
  New version for GNOME 2.24. Port to GIO and bug fixes.

  13 Aug 2008; Mart Raudsepp <leio@gentoo.org>
  -totem-pl-parser-2.22.2.ebuild:
  Remove old

  12 Aug 2008; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  alpha/ia64/sparc stable wrt #229709

  10 Aug 2008; Markus Meier <maekke@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  x86 stable, bug #229709

  30 Jul 2008; Brent Baude <ranger@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  Marking totem-pl-parser-2.22.3 ppc stable for bug 229709

  26 Jul 2008; Olivier Crête <tester@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  Stable on amd64, bug #229709

  02 Jun 2008; Alexis Ballier <aballier@gentoo.org>
  totem-pl-parser-2.22.3.ebuild:
  keyword ~x86-fbsd

  01 Jun 2008; nixnut <nixnut@gentoo.org> totem-pl-parser-2.22.2.ebuild,
  totem-pl-parser-2.22.3.ebuild:
  Added ~ppc wrt bug 218794

*totem-pl-parser-2.22.3 (10 May 2008)

  10 May 2008; Gilles Dartiguelongue <eva@gentoo.org>
  -totem-pl-parser-2.22.1.ebuild, +totem-pl-parser-2.22.3.ebuild:
  bump to 2.22.3. Bug fixes.

  24 Apr 2008; Markus Rothe <corsair@gentoo.org>
  totem-pl-parser-2.22.2.ebuild:
  Added ~ppc64; bug #218794

*totem-pl-parser-2.22.2 (09 Apr 2008)

  09 Apr 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.22.2.ebuild:
  bump to 2.22.2. Add support for feed://

  03 Apr 2008; Raúl Porcel <armin76@gentoo.org>
  totem-pl-parser-2.22.1.ebuild:
  Add ~alpha/~ia64/~sparc

*totem-pl-parser-2.22.1 (23 Mar 2008)

  23 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org>
  +totem-pl-parser-2.22.1.ebuild:
  New ebuild for GNOME-2.22. Playlist parsing library splitted out
  of totem.
