# ChangeLog for profiles/default/linux/hppa
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/default/linux/hppa/ChangeLog,v 1.17 2013/10/14 18:32:06 jer Exp $

  14 Oct 2013; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Remove obsolete entry (media-libs/openinventor).

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> +10.0/deprecated,
  +10.0/desktop/deprecated, +10.0/developer/deprecated,
  +10.0/server/deprecated:
  Deprecate 10.0 profiles

  16 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org> +13.0/desktop/eapi,
  +13.0/desktop/parent, +13.0/developer/eapi, +13.0/developer/parent,
  +13.0/eapi, +13.0/parent:
  Copy profile tree 10.0 to 13.0 and adapt inheritance

  22 Oct 2012; Jeroen Roovers <jer@gentoo.org> -10.0/desktop/gnome/eapi,
  -10.0/desktop/gnome/parent, -10.0/desktop/kde/eapi, -10.0/desktop/kde/parent:
  Remove deprecated desktop profiles.

  29 May 2012; Jeroen Roovers <jer@gentoo.org> -use.mask:
  Remove use.mask in favour of arch/hppa/use.mask.

  29 May 2012; Jeroen Roovers <jer@gentoo.org> -10.0/use.mask:
  Remove crappy use.mask.

  19 Apr 2012; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  net-libs/xulrunner is no longer keyworded for HPPA.

  01 Sep 2011; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Mask USE=numa for sys-apps/hwloc (bug #381313).

  09 Aug 2011; Samuli Suominen <ssuominen@gentoo.org> -2008.0/deprecated,
  -2008.0/desktop/deprecated, -2008.0/desktop/make.defaults,
  -2008.0/desktop/parent, -2008.0/developer/deprecated,
  -2008.0/developer/parent, -2008.0/parent, -2008.0/server/deprecated,
  -2008.0/server/parent:
  Remove 2008.0 profile.

  25 Jul 2010; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Fix atom for pkgmove from www-client/mozilla-firefox -> www-client/firefox

  15 Aug 2008; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Mask custom-optimisation USE flag for net-libs/xulrunner and
  www-client/mozilla-firefox (thanks to armin76).

  18 Jul 2008; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Mask pch USE flag for x11-libs/qt-assistant (bug #223775).

  15 Jul 2008; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Masking openinventor USE flag for sci-physics/geant.

  17 Jun 2008; Jeroen Roovers <jer@gentoo.org> +package.use.mask:
  Masking jabber USE flag for abiword-plugins (net-libs/loudmouth does not
  work, bugs #215125 and #225395).

  16 Jun 2008; Jeroen Roovers <jer@gentoo.org> -package.use.mask, use.mask:
  Block USE=mpi altogether instead of adding it piecemeal to p.u.m.

  16 Jun 2008; Jeroen Roovers <jer@gentoo.org> +package.use.mask:
  Mask dev-lib/boost's upcoming USE=mpi (bug #225045).

  07 Jun 2008; Jeroen Roovers <jer@gentoo.org> +use.mask:
  Mask dev-util/anjuta:valgrind.

