# ChangeLog for games-emulation/mupen64plus-core
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*mupen64plus-core-2.0-r1 (09 Aug 2015)
*mupen64plus-core-2.0 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +metadata.xml,
  +mupen64plus-core-2.0.ebuild, +mupen64plus-core-2.0-r1.ebuild:
  proj/gentoo: Initial commit

  This commit represents a new era for Gentoo:
  Storing the gentoo-x86 tree in Git, as converted from CVS.

  This commit is the start of the NEW history.
  Any historical data is intended to be grafted onto this point.

  Creation process:
  1. Take final CVS checkout snapshot
  2. Remove ALL ChangeLog* files
  3. Transform all Manifests to thin
  4. Remove empty Manifests
  5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
  5.1. Do not touch files with -kb/-ko keyword flags.

  Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
  X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
  tests
  X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
  project
  X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
  developer, wrote Git features for the migration
  X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
  cvs2svn
  X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
  X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
  work in migration
  X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
  X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
  the bikeshed

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Use https by default

  Convert all URLs for sites supporting encrypted connections from http to
  https

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> mupen64plus-core-2.0.ebuild,
  mupen64plus-core-2.0-r1.ebuild:
  Enable https for all google URIs

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  Revert DOCTYPE SYSTEM https changes in metadata.xml

  repoman does not yet accept the https version.
  This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.

  Bug: https://bugs.gentoo.org/552720

  01 Sep 2015; Tobias Klausmann <klausman@gentoo.org>
  mupen64plus-core-2.0.ebuild, mupen64plus-core-2.0-r1.ebuild:
  Fixing HOMEPAGE move due to code.google.com shutdown

  Package-Manager: portage-2.2.20.1

  04 Oct 2015; Michał Górny <mgorny@gentoo.org> -mupen64plus-core-2.0.ebuild:
  games-emulation/mupen64plus-*: Clean up old 2.0-r0 ebuilds

  Package-Manager: portage-2.2.22

*mupen64plus-core-2.5 (04 Oct 2015)

  04 Oct 2015; Michał Górny <mgorny@gentoo.org> metadata.xml,
  +mupen64plus-core-2.5.ebuild:
  games-emulation/mupen64plus*: Version bump to 2.5

  Bump mupen64plus to 2.5 which brings a number of bug fixes. Switch to
  SDL2 as its support become stable and the default. Also switch m64py to
  SDL2 to match.

  Package-Manager: portage-2.2.22

*mupen64plus-core-2.5-r1 (04 Oct 2015)

  04 Oct 2015; Michał Górny <mgorny@gentoo.org> -mupen64plus-core-2.5.ebuild,
  +mupen64plus-core-2.5-r1.ebuild:
  Use DejaVu font, #548214

  Use DejaVu Sans instead of deprecated BitStream Vera for OSD.

  Fixes: https://bugs.gentoo.org/show_bug.cgi?id=548214

  Package-Manager: portage-2.2.22

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Set appropriate maintainer types in metadata.xml (GLEP 67)

  11 Jun 2016; Pacho Ramos <pacho@gentoo.org> metadata.xml:
  Cleanup due to #261692

  Package-Manager: portage-2.3.0_rc1

  08 Oct 2016; Pacho Ramos <pacho@gentoo.org> -mupen64plus-core-2.0-r1.ebuild:
  Drop old

  Package-Manager: portage-2.3.1

