# ChangeLog for Gentoo/PPC profile directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/powerpc/ChangeLog,v 1.257 2013/10/27 06:22:54 gienah Exp $

  25 Oct 2013; Davide Pesavento <pesa@gentoo.org> package.use.force:
  Remove obsolete entry.

  26 Oct 2013; Mark Wright <gienah@gentoo.org> package.use.mask:
  mask dev-haskell/dataenc test as template-haskell not yet available

  21 Oct 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Added bug reference to media-video/mpv luajit mask.

  20 Oct 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Adjusted media-video/mpv luajit USE mask to support future versions.

  16 Oct 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Mask luajit on ~media-video/mpv-0.2.0 because it only has amd64 x86 keywords.

  15 Sep 2013; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask use kde-base/solid-runtime[networkmanager], unkeyworded dep
  kde-misc/networkmanagement.

  27 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  ppc64/64ul/use.mask, use.mask:
  Make llvm/clang mask ppc64 only.

  24 Aug 2013; Agostino Sarubbo <ago@gentoo.org> use.mask:
  Mask klibc because does not work anymore on ppc

  24 Aug 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Mask mksh[static] because klibc does not work anymore on ppc

  22 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> use.mask:
  Mask opencl flag due to lack of virtual/opencl keywording.

  20 Aug 2013; Michael Palimaka <kensington@gentoo.org> package.use.mask:
  Remove obsolete mask.

  14 Aug 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  remove the mask for freerdp/libkfbapi, they are keyworded

  14 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  mask rdesktop support of krdp-4.11 until keyworded

  14 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  mask facebook support of kdepim-runtime until keyworded

  11 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  move texlive mask from global to arch profiles, bug #475124

  31 Jul 2013; Nathan Phillip Brink <binki@gentoo.org> package.use.mask:
  Mask dev-util/geany-plugins[markdown] because app-text/discount is missing
  ~ppc.

  27 Jul 2013; Rick Farina <zerochaos@gentoo.org package.use.mask:
  removing mask as jer taught me a better way of handling these issues

  26 Jul 2013; Rick Farina <zerochaos@gentoo.org> package.use.mask:
  blocking libewf[bfio] pending bug #478308

  17 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.use.mask:
  Fix per-arch mask of phonon[zeitgeist] #460140

  28 May 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  ppc64/64ul/package.use.mask:
  Mask r600-llvm-compiler flag for mesa.

  28 May 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  ppc64/64ul/use.mask:
  Mask video_cards_radeonsi.

  27 May 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> use.mask:
  Mask video_cards_ilo.

  04 May 2013; Michał Górny <mgorny@gentoo.org> ppc64/use.mask:
  Mask systemd flag globally, unmask on arches on which systemd is keyworded.

  23 Apr 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Mask sci-libs/gdal spatialite because dev-db/spatialite fails to compile on
  ppc

  22 Apr 2013; Bernard Cafarelli <voyageur@gentoo.org> ppc64/package.use.mask:
  x11-misc/google-gadgets removed from tree

  02 Apr 2013; Agostino Sarubbo <ago@gentoo.org> ppc64/package.use.mask:
  Add net-libs/libkolabxml to the previous mask

  02 Apr 2013; Michael Palimaka <kensington@gentoo.org> ppc64/package.use.mask:
  Mask kde-base/kdebindings-meta[csharp].

  10 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> ppc64/use.mask:
  USE opencolorio was renamed to USE colorio

  17 Feb 2013; Sergey Popov <pinkbyte@gentoo.org> ppc64/package.use.mask:
  Mask sys-cluster/vzctl[ploop], wrt bug #414531

  07 Feb 2013; Agostino Sarubbo <ago@gentoo.org> package.mask:
  Remove KDE SC 4.10.0, wrt to bug #455960

  07 Feb 2013; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  Mask KDE SC 4.10.0 for keywording bug #455960

  31 Jan 2013; Agostino Sarubbo <ago@gentoo.org> ppc64/64ul/package.use.mask:
  Mask gnome-extra/nm-applet bluetooth because requires a lot of unstable
  depends not ready for the stabilization

  31 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask net-misc/modemmanager[qmi,qmi-newest] until libqmi is keyworded.

  22 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask colord[extra-print-profiles] until argyllcms is keyworded here.

  20 Jan 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Remove duplicate pypy/jython masks (masked in base profile now).

  18 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="cman clvm" because cman and libdlm are not keyworded on this arch.

  14 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> ppc64/64ul/use.mask:
  mask template_haskell on ppc64 (unregisterised arch)

  10 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> package.use.mask:
  mask USE=seccomp for app-emulation/qemu (sys-libs/libseccomp knows only about
  x86 and amd64 hosts)

  06 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Remove obsolete mask entries

  31 Dec 2012; Agostino Sarubbo <ago@gentoo.org> package.use.mask, use.mask:
  remove folks[eds/telepathy] and add -zeitgeist

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Unmask evolution[connman] since connman has been keyworded.

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  ppc64/package.use.mask:
  Mask sushi[office], needs virtual/ooo.

  30 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  ppc32/package.use.mask:
  Unmask zeitgeist-datasources[tomboy] (masked in base).

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask,
  package.use.mask, ppc32/package.use.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask gnome-control-center[colord] until gnome-color-manager is keyworded
  here.

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask devhelp[gedit] until gedit-3.6 is keyworded.

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask >=folks-0.8[telepathy] until dev-libs/libzeitgeist is keyworded.

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=colord for stable versions of x11-libs/gtk+ to fix repoman failure.
  Remove this mask when x11-misc/colord is stable for ppc/ppc64.

  22 Dec 2012; Agostino Sarubbo <ago@gentoo.org> ppc64/64ul/use.mask:
  mask kde since is not anymore keyworded for ppc64

  22 Dec 2012; Agostino Sarubbo <ago@gentoo.org> use.mask:
  mask clang IUSE

  19 Dec 2012; Agostino Sarubbo <ago@gentoo.org> use.mask:
  Remove packagekit and colord

  17 Dec 2012; Agostino Sarubbo <ago@gentoo.org> ppc64/64ul/use.mask:
  mask clang for ppc64 since llvm fails to compile

  12 Dec 2012; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  remove media-sound/picard acoustid wrt to bug #426340

  30 Nov 2012; Joseph Jezak <josejx@gentoo.org> +ppc64/32ul/packages:
  Removed kgcc64 from ppc64-32ul profile, it's no longer needed.

  30 Nov 2012; Agostino Sarubbo <ago@gentoo.org> ppc64/32ul/package.mask:
  Lirc now works on ppc32 with 64bit kernel, removing mask

  24 Nov 2012; Mike Gilbert <floppym@gentoo.org> use.mask:
  Mask python_single_target values not supported on this arch.

  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> ppc64/use.mask:
  Mask USE="opencolorio" and USE="opencv" for 64bit because media-gfx/opencolorio
  and media-libs/opencv have not been tested yet.

  15 Nov 2012; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  Mask USE=telepathy, bug #441456

  12 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  ppc32/package.use.mask:
  Unmask webkit-gtk[webkit2] on ppc since at-spi2-core has been keyworded.

  12 Nov 2012; Mike Gilbert <floppym@gentoo.org> ppc32/make.defaults,
  ppc64/make.defaults:
  Move PYTHON_TARGETS=python3_2 from arch profiles to base.

  05 Nov 2012; Sergei Trofimovich <slyfox@gentoo.org> package.use,
  ppc64/package.use:
  Fixed typo qemu_softmmu_target{,s}_.

  04 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  ppc32/package.use.mask:
  Mask webkit-gtk[webkit2] on ppc due to missing ~ppc keyword on at-spi2-core
  (bug #441692).

  31 Oct 2012; Michał Górny <mgorny@gentoo.org> use.mask:
  Add a PYTHON_TARGETS mask based on keywords.

  30 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> ppc64/package.use.force,
  ppc64/package.use.mask:
  Instead of masking USE="new-login" completely, force USE="gdm" enabled since
  it's the only DM with new-login functionality with stable ppc64 keywording.

  29 Oct 2012; Doug Goldstein <cardoe@gentoo.org> +ppc64/package.use.force:
  Add package.use.force for ppc64 as it requires binary only SeaBIOS (x86 BIOS)
  since it can't natively compile it.

  29 Oct 2012; Doug Goldstein <cardoe@gentoo.org> +package.use,
  +ppc64/package.use:
  Add package.use so we can enable the native arch as the default qemu target
  for bug #437788

  07 Oct 2012; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  remove net-libs/webkit-gtk[geoloc,webkit2] masking since app-misc/geoclue and
  app-accessibility/at-spi2-core are keyworded

  27 Sep 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="test" for dev-ruby/rack-test because dev-ruby/sinatra it relies has
  expensive dependencies.

  26 Aug 2012; Justin Lecher <jlec@gentoo.org> package.use.force:
  Foce USE=minimal for sci-libs/cctbx because sci-chemistry/cns is missing for
  ppc

  22 Aug 2012; Michael Weber <xmw@gentoo.org> package.use.mask:
  x11-themes/gtk-engines-qtcurve[mozilla]: Masked for missing stable on
  >=www-client/firefox-3

  21 Aug 2012; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  Mask net-misc/tor[tor-hardening] on ppc/ppc64

  21 Aug 2012; Michael Weber <xmw@gentoo.org> package.use.mask:
  net-analyzer/munin: Masked for missing keywords on sys-libs/freeipmi

  01 Aug 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Update mask kde-base/solid[bluetooth] for kde 4.9.

  16 Jul 2012; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  Mask net-libs/cyassl[aes-ni,cyassl-hardening] on ppc/ppc64

  12 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.use.mask:
  Mask media-sound/picard[acoustid] on ppc until chromaprint is keyworded

  09 Jul 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask =x11-libs/qt-demo-4.8*[openvg] to make repoman happy.

  04 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove obsolete entry to www-client/icecat.

  14 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Remove redundant mask of USE=jit for qt-script, now masked in base profile.

  14 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Remove redundant mask of USE=jit for qt-webkit, already masked in base
  profile.

  14 Jun 2012; Michael Weber <xmw@gentoo.org> package.use.mask,
  ppc64/package.use.mask:
  Push net-misc/networkmanager[wimax] down to ppc64

  04 Jun 2012; Michael Weber <xmw@gentoo.org> package.use.mask,
  ppc32/package.use.mask:
  move mask USE=apbs on sci-chemistry/pymol in the right location, fix typo

  04 Jun 2012; Michael Weber <xmw@gentoo.org> ppc32/package.use.mask:
  Masking USE=apbs on sci-chemistry/pymol (bug 366229)

  02 Jun 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Add mask for smplayer-themes, since there is no longer a working keyworded
  version of media-video/smplayer

  31 May 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  remove old mask due to texlive 2009 not being keyworded, texlive 2011 is
  stable these days...

  31 May 2012; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  remove old mask due to texlive 2010 not being keyworded, texlive 2011 is
  stable these days...

  28 May 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Mask new useflag of opencv, as dependency dev-cpp/tbb is not keyworded on ppc

  25 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask webkit-gtk[geoloc,webkit2], requires app-misc/geoclue and
  app-accessibility/at-spi2-core to be keyworded (bug #411761).

  24 May 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask kde-base/solid-4.8[bluetooth] for ppc*

  15 May 2012; Mike Gilbert <floppym@gentoo.org> ppc32/make.defaults,
  ppc64/make.defaults:
  Default PYTHON_TARGETS should include python-3 for arches where it is stable.
  See bug 415575.

  13 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Add nautilus[sendto] to gnome3 mask.

  03 May 2012; Julian Ospald <hasufell@gentoo.org> use.mask:
  mask nvtt

  25 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org> use.mask:
  Mask systemd

  04 Apr 2012; Joerg Bornkessel <hd_brummy@gentoo.org> ppc32/use.mask:
  removed dxr3 unmask for ppc32

  22 Mar 2012; Tim Harder <radhermit@gentoo.org> package.use.mask:
  Remove redundant use flag mask.

  17 Mar 2012; Tim Harder <radhermit@gentoo.org> package.use.mask:
  Mask USE="skype" for bitlbee.

  05 Mar 2012; Joerg Bornkessel <hd_brummy@gentoo.org> ppc32/use.mask:
  dxr3 unmask, works with v4l2, #350211

  01 Mar 2012; Kacper Kowalik <xarthisius@gentoo.org> use.mask:
  Drop mask on vpx useflag

  21 Feb 2012; Johannes Huber <johu@gentoo.org> package.mask, package.use.mask:
  Mask unresolved deps to make repoman happy.

  19 Feb 2012; <nixnut@gentoo.org> package.mask:
  removed kde-4.7.4 mask

  14 Feb 2012; Jory A. Pratt <anarchy@gentoo.org> package.use.mask:
  Finish crashreport mask on mozilla packages

  10 Feb 2012; Matt Turner <mattst88@gentoo.org> use.mask:
  Mask wayland USE flag.

  10 Feb 2012; Matt Turner <mattst88@gentoo.org> use.mask:
  Mask d3d USE flag.

  10 Feb 2012; Matt Turner <mattst88@gentoo.org> use.mask:
  Add new video_cards_* to use.mask.

  25 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE crashreporter for www-client/firefox wrt #396565

  22 Jan 2012; Sergei Trofimovich <slyfox@gentoo.org> package.use.mask:
  Mask USE="spice xen rbd" for qemu.

  11 Dec 2011; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  Also mask KDE SC 4.7.4 on ppc

  07 Dec 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Drop mask on sys-apps/hwloc[numa] wrt #381313

  25 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask,
  ppc64/64ul/package.use.mask:
  Mask USE flags on gnome-3.2 packages due to missing keywords on deps; bug
  #390345

  20 Nov 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Masked sys-fs/dmraid[dietlibc] wrt #364103

  05 Nov 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask kde-base/solid[bluetooth] until we find someone who is actually using
  bluetooth and KDE

  02 Nov 2011; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  update kde mask

  28 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org> use.mask:
  use.mask colord and packagekit to allow gtk+-3.2 unmasking. use.mask instead
  of p.use.mask because other packages with these flags are coming. Bug
  #387959.

  18 Oct 2011; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Add kdepim-l10n to kde-4.7 mask

  09 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org> package.mask,
  package.use.mask:
  Remove obsolete masks

  06 Oct 2011; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  Mask kde on ppc/ppc64

  03 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> ppc32/use.mask:
  Mask USE="dxr3" again wrt #350211.

  27 Sep 2011; Jonathan Callen <abcd@gentoo.org> package.mask:
  Add kactivites to KDE 4.7 mask

  21 Sep 2011; Markos Chandras <hwoarang@gentoo.org> package.use.force:
  Force botan-bundled useflag for dev-util/qt-creator

  18 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> ppc64/package.use.mask:
  Remove obsolete entry for sys-apps/hal.

  14 Sep 2011; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Mask USE=oracle once more for net-analyzer/hydra.

  07 Sep 2011; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  Update kde mask

  04 Sep 2011; Robin H. Johnson <robbat2@gentoo.org> package.use.mask:
  Bug #381737: block dev-libs/libmemcached[tcmalloc] until
  dev-utils/google-perftools is keyworded (and virtual/gsasl on hppa/arm).

  21 Aug 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Dropping app-emulation/pearpc[jit] mask as the application was tree-cleaned

  10 Aug 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  mask cuda dep for opencv bug 365451

  09 Aug 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  pass on media-sound/amarok[upnp] bug 365003

  03 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> ppc64/package.use.mask:
  masked dev-lang/ghc[llvm]

  28 Jul 2011; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Add kde-base/kdepim-l10n to kde-4.7 package mask

  26 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> use.mask:
  ppc keywords were dropped for dev-libs/prelude

  15 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Fix use.mask on kdebindings-meta[java]

  30 Jun 2011; Pacho Ramos <pacho@gentoo.org> package.use.mask:
  Needed plugins are not keyworded on this arch

  02 Jun 2011; Kacper Kowalik <xarthisius@gentoo.org> ppc64/package.use.mask:
  Drop obsolete dev-libs/ppl[prolog] mask

  02 Jun 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Drop obsolete net-libs/gnutls[valgrind] mask

  02 Jun 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask kde-base/kdebindings-meta[java] since kde-base/krossjava-4.6.2 fails to
  build wrt bug 354033 c#33

  27 May 2011; Doug Goldstein <cardoe@gentoo.org> package.use.mask:
  Mask rbd, spice, and xen USE flags for app-emulation/qemu-kvm as the
  necessary
  depends are masked. bug #368959

  09 May 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  use.mask:
  Remove video_cards_nouveau unmask, bug #364027.

  06 May 2011; Matt Turner <mattst88@gentoo.org> use.mask:
  use.mask mumble, media-sound/mumble not keyworded on ppc

  24 Apr 2011; Joseph Jezak <josejx@gentoo.org> package.use.mask, use.mask:
  Allow nouveau on ppc/ppc64.

  10 Apr 2011; Ulrich Mueller <ulm@gentoo.org> -ppc32/pegasos/virtuals,
  -ppc64/64ul/virtuals, -virtuals:
  Remove old-style virtual/bootloader, bug 359971.

  31 Mar 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Unmask libdrm video_cards_nouveau for x11-drivers/xf86-video-nouveau

  21 Mar 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask mail-client/claws-mail[pda] since app-pda/jpilot is not keyworded

  18 Mar 2011: Mike Frysinger <vapier@gentoo.org> ppc64/make.defaults:
  Drop CDEFINE_<abi> variables now that nothing uses them.

  16 Mar 2011; Andreas Proschofsky <suka@gentoo.org> package.mask:
  Remove old-style virtual/ooo, bug #358895.

  09 Mar 2011; Justin Lecher <jlec@gentoo.org> package.mask:
  Corrected mask entry

  09 Mar 2011; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-biology/emboss-6.3.1 due to missing keyworded dep (sci-libs/plplot)

  04 Mar 2011; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  mask kde use for bug #357403

  03 Feb 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  unmask kde-base/kdebindings-meta-4.6.0[java,ruby]

  03 Feb 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask java and ruby kdebinding wrt #280629 and #353538

  26 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Unmask >=net-libs/telepathy-glib-0.12[vala] since
  dev-libs/gobject-introspection is keyworded

  26 Jan 2011; Alexey Shvetsov <alexxy@gentoo.org> ppc64/package.use.mask:
  Mask marble with gps

  25 Jan 2011; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Mask jit on qt-webkit.

  22 Jan 2011; Zac Medico <zmedico@gentoo.org> ppc64/package.use.mask:
  Unmask USE=python3 for sys-apps/portage since python-3.x has a stable ppc64
  keyword now.

  16 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Add sci-chemistry/ccp4[arpwarp] wrt #303931

  16 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.force,
  package.use.mask:
  Use package.use.force to set sci-chemistry/oasis[minimal] wrt #303931,
  correct package.use.mask

  16 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Add sci-chemistry/oasis[-minimal] wrt #303931

  16 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask sci-biology/fasta[icc] since there is no icc for PPC

  06 Jan 2011; Joseph Jezak <josejx@gentoo.org> package.mask:
  Unmasked KDE again, the deps have been marked.

  09 Dec 2010; <nirbheek@gentoo.org> package.use.mask:
  Mask USE=vala on >=net-libs/telepathy-glib-0.12 because
  dev-libs/gobject-introspection is not keyworded, bug 348313

  09 Dec 2010; <nirbheek@gentoo.org> package.use.mask:
  net-misc/connman is not keyworded, bug 348308

  28 Nov 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  ppc32/package.use.mask:
  Unmask mesa's llvm flag

  21 Nov 2010; Tomas Touceda <chiiph@gentoo.org> package.use.mask:
  Mask x11-libs/qt-script[jit] wrt bug 346167

  14 Nov 2010; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  Mask app-i18n/canna[doc], app-text/ptex does not build and ptex is
  provided by TeX Live 2010, please remove the mask when TeX Live 2010 is
  unmasked, bug #342513

  13 Nov 2010; Alexis Ballier <aballier@gentoo.org> package.mask:
  Move TeX Live 2010 package.mask to per-arch package.mask, bug #342513

  12 Nov 2010; Dane Smith <c1pher@gentoo.org> package.use.mask:
  Unmask valgrind USE flag for net-libs/gnutls.

  08 Nov 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  package.use.mask:
  Mask "test" USE flag of dev-util/buildbot*.

  07 Nov 2010; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask,
  use.mask:
  Globaly mask vpx useflag

  03 Nov 2010; Samuli Suominen <ssuominen@gentoo.org>
  ppc64/64ul/package.use.mask, ppc64/use.mask, use.mask:
  Move use.mask of lirc here, because of recent masking in
  arch/powerpc/ppc64/32ul/package.mask.

  02 Nov 2010; Samuli Suominen <ssuominen@gentoo.org>
  ppc64/package.use.mask:
  Mask USE="kde" for net-libs/libproxy because of missing stable kdelibs wrt
  #343069.

  01 Nov 2010; Justin Lecher <jlec@gentoo.org> package.use.mask:
  Masked sci-chemistry/apbs USE=fetk as DEPS are not KEyworded

  01 Nov 2010; Christian Faulhammer <fauli@gentoo.org> ppc64/use.mask:
  Mask lirc USE flag as discussed on bug 275872

  31 Oct 2010; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="iphone" and USE="ipod" wrt #313691 and #325839.

  23 Oct 2010; Samuli Suominen <ssuominen@gentoo.org>
  ppc64/package.use.mask:
  Mask USE debug-utils for btrfs-progs because matplotlib isn't tested yet.

  13 Oct 2010; Vlastimil Babka <caster@gentoo.org> package.use.mask:
  package.use.mask systemtap for dev-java/icedtea due to missing keywords

  05 Oct 2010; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  Mask KDE SC 4.5.2 because of unkeyworded deps bug #336158

  15 Sep 2010; Maciej Mrozowski <reavertm@gentoo.org> package.use.mask,
  ppc32/package.use.mask:
  Remove test use mask from libdbusmenu-qt, add webkit use mask to
  kde-base/kget

  14 Sep 2010; Joseph Jezak <josejx@gentoo.org> package.mask:
  Removed mask on KDE-4.5.1

  21 Aug 2010; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  mask msms use for vmd

  15 Aug 2010; Diego E. Pettenò <flameeyes@gentoo.org> ppc32/use.mask:
  Remove jruby support until PPC sorts out its deptree.

  13 Aug 2010; Justin Lecher <jlec@gentoo.org> package.use.mask:
  MKL not available on this arch

  12 Aug 2010; Joseph Jezak <josejx@gentoo.org> package.use.mask, use.mask:
  Masked vaapi globally and removed the gnash specific mask.

  13 Jul 2010; Pacho Ramos <pacho@gentoo.org> ppc32/package.use.mask:
  Mask slideshow media-gfx/gthumb USE flag until bug 318691 is fixed.

  12 Jul 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  mask USE=vaapi for gnash due to unkeyworded libva

  09 Jul 2010; Samuli Suominen <ssuominen@gentoo.org>
  ppc64/package.use.mask:
  Mask USE="kde" for app-arch/p7zip because it needs stable konqueror.

  08 Jul 2010; Pacho Ramos <pacho@gentoo.org> ppc32/package.use.mask,
  ppc64/package.use.mask:
  Use mask iphone gvfs USE flag until bug #325839 is fixed.

  04 Jul 2010; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="schroedinger" wrt #316553.

  23 Jun 2010; Mark Loeser <halcy0n@gentoo.org> use.mask:
  All ppc/ppc64 keywords are being dropped from openafs, so mask afs

  21 Jun 2010; Samuli Suominen <ssuominen@gentoo.org>
  ppc64/package.use.mask:
  Mask USE="kde" for uim and subversion because of missing stable kdelibs-4.

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> ppc64/package.use.mask:
  Mask media-video/totem youtube and iplayer USEs until bug 323845 and
  323847 are fixed

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> ppc32/package.use.mask:
  Mask media-video/totem youtube USE until bug 323845 is fixed

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> ppc32/package.use.mask,
  ppc64/package.use.mask:
  Mask gnome-base/gvfs gdu USE flag until bug 323803 is fixed.

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> ppc64/package.use.mask:
  Mask gnome-base/gvfs bluetooth USE flag until bug 305913 is fixed.

  01 Jun 2010; Joseph Jezak <josejx@gentoo.org> package.mask:
  Remove TeX Live 2009 masking.

  31 May 2010; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Removed java and kde masks, issues have been resolved.

  14 May 2010; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask dev-tcltk/tkimg-1.4.20100510 until libpng-1.4 is unmasked

  11 May 2010; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  qtmultimedia is keyworded now.

  26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> package.use.mask:
  Mask new udis86 flag for llvm, it is only for x86/amd64

  13 Mar 2010; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask libpng-1.4 pending on texlive-core-2009 unmasking.

  23 Feb 2010; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  media-gfx/tachyon needed to be keyworded per bug #306549

  23 Feb 2010; Joseph Jezak <josejx@gentoo.org> package.mask:
  Unmask KDE4.4 on ~ppc/~ppc64.

  23 Feb 2010; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Removed mask on virtuoso, it's keyworded now. Also removed mask on mach64,
  this card is marked for use on PowerPC machines.

  21 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask media-gfx/kuickshow in KDE 4.4.0 mask.

  21 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask kde-misc/konq-plugins-4.4.0 in KDE 4.4.0 mask.

  16 Feb 2010; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove www-client/opera mask now that ppc support is gone.

  12 Feb 2010; Joseph Jezak <josejx@gentoo.org> package.mask:
  Masked app-emulation/mol.

  09 Feb 2010; Alexey Shvetsov <alexxy@gentoo.org> package.mask:
  mask kde sc 4.4.0 since neede deps not keyworded

  08 Feb 2010; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  mask dev-libs/soprano[virtuoso] since it needs dev-db/virtuoso-* keyworded

  08 Feb 2010; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  mask app-admin/system-config-printer-common[policykit] since it needs
  sys-auth/polkit keyworded

  25 Jan 2010; Alexis Ballier <aballier@gentoo.org> package.mask:
  Move TeX Live 2009 mask here from global package.mask, remove it once
  keyworded, bug #300526

  23 Jan 2010; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask www-client/opera (bug #283430).

  08 Jan 2010; Diego E. Pettenò <flameeyes@gentoo.org> ppc32/use.mask:
  Unmask JRuby target.

  06 Jan 2010; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Removed mask on frei0r-plugins.

  13 Dec 2009; Rémi Cardona <remi@gentoo.org> ppc64/64ul/use.mask:
  drop "imstt" from VIDEO_CARDS in all profiles

  13 Dec 2009; Rémi Cardona <remi@gentoo.org> ppc64/make.defaults,
  use.mask:
  drop "vga" from VIDEO_CARDS in all profiles

  10 Nov 2009; Christian Faulhammer <fauli@gentoo.org> ppc64/use.mask:
  unmask ps3 USE flag for bug 244018

  08 Nov 2009; Joseph Jezak <josejx@gentoo.org> package.mask:
  Removed kde-4.3 mask.

  07 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask sys-block/gparted[kde].

  16 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask Intel Integrated Primitive support, USE="ipp".

  12 Oct 2009; Jonathan Callen <abcd@gentoo.org> package.mask:
  Remove filelight, now fixed

  11 Oct 2009; Jonathan Callen <abcd@gentoo.org> package.mask:
  Masking packages that dep on KDE-4.3 to prevent more tree breakage

  03 Oct 2009; Mounir Lamouri <volkmar@gentoo.org> package.mask:
  Removing outadated <sci-physics/root-5 in package.mask.

  05 Sep 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.mask:
  Added missing KDE-4.3 deps mask for this arch to fix tree breakage (bug
  #280312).

  02 Sep 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.mask:
  Masking >= KDE-4.3 for this arch to prevent tree breakage following
  the global unmask of KDE-4.3 (bug #280312).

  16 Aug 2009; Rémi Cardona <remi@gentoo.org> use.mask:
  drop last traces of i810

  01 Aug 2009; Steve Dibb <beandog@gentoo.org> use.mask:
  Remove "real" use flag mask, as its already in base

  30 April 2009; Brent Baude <ranger@gentoo.org> ppc32/package.use.mask
  Removing webkit masking per bug 250934
  
  20 Mar 2009; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Masked oracle keyword for dev-ruby/ruby-dbi.

  27 Feb 2009; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Marked plugins ~ppc, but masking current versions on gst-plugins-meta
  because of stable keyword.

  18 Feb 2009; <chainsaw@gentoo.org> package.use.mask:
  Dependency tree in sys-apps/hal is fixed up for USE=laptop on PowerPC.
  Remove use.mask for bug #259080.

  10 Jan 2009; Joseph Jezak <josejx@gentoo.org> ChangeLog:
  Reverting pm-utils change until it goes stable.

  09 Jan 2009; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Removed mask on sys-apps/hal for bug #253868.

  14 Dec 2008; Peter Alfredsen <loki_val@gentoo.org>
  +ppc32/package.use.mask:
  Mask mono-tools[webkit] for bug 250934.

  12 Nov 2008; Joseph Jezak <josejx@gentoo.org> package.use.mask:
  Added use mask for pearpc - jit

  18 Oct 2008; Mart Raudsepp <leio@gentoo.org> ppc64/package.mask:
  Unmask >=gnome-icon-theme-2.22 to fix ppc64 32-bit userland deptree

  23 Sep 2008; Markus Rothe <corsair@gentoo.org> use.mask:
  Add video_cards_ast to use.mask

  24 Aug 2008; Markus Rothe <corsair@gentoo.org> ppc64/use.mask:
  mask custom-cpuopts and cpudetection on ppc64 for mplayer - bug #234629

  24 Aug 2008; Markus Rothe <corsair@gentoo.org> ppc64/use.mask:
  mask dxr* use flags on ppc64 for mplayer - bug #234629

  11 Aug 2008; Raúl Porcel <armin76@gentoo.org> ppc64/use.mask:
  Use.mask madwifi on ppc64 since it doesn't have madwifi keyworded

  26 Jul 2008; Markus Rothe <corsair@gentoo.org> package.use.mask,
  ppc64/package.use.mask:
  Move 'app-text/enchant -zemberek' from ppc64 profile to powerpc profile. The
  packages are ~ppc now, too.

  22 Jul 2008; Markus Rothe <corsair@gentoo.org>
  arch/powerpc/ppc64/package.use.mask:
  unmask zemberek use flag for app-text/enchant in ppc64 profiles

  04 Jun 2008; Markus Rothe <corsair@gentoo.org> ppc64/64ul/use.mask:
  add ocamlopt use flag to use.mask. this didn't made the change from
  default-linux/ to default/ profiles

  03 Jun 2008; nixnut <nixnut@gentoo.org> package.use.mask:
  mask laptop sys-apps/hal

  28 May 2008; Markus Rothe <corsair@gentoo.org> package.use.mask:
  Remove "sys-apps/paludis python" from package.use.mask; bug #198989

  30 Apr 2008; Chris Gianelloni <wolf31o2@gentoo.org>
  +ppc64/32ul/make.defaults, +ppc64/32ul/parent, +ppc64/32ul/use.mask,
  +ppc64/64ul/make.defaults, +ppc64/64ul/package.mask, +ppc64/64ul/parent,
  +ppc64/64ul/use.mask, +ppc64/64ul/virtuals, ppc64/make.defaults:
  Updated arch/powerpc/ppc64 profile from the snapshot tree. This adds a 32ul
  and 64ul sub-profile to ppc64, which allows us to clean up everything except
  for parent and profile.bashrc from default/linux/powerpc/ppc64 profiles.
  This closes bug #217305.

  23 Apr 2008; Chris Gianelloni <wolf31o2@gentoo.org> ppc64/make.defaults:
  Adding MULTILIB_ABIS and ABI to arch/powerpc/ppc64 and uncommenting multilib
  variables.

  11 Apr 2008; Chris Gianelloni <wolf31o2@gentoo.org> package.use.mask:
  Added hb/hb2 to package.use.mask for sys-fs/evms.

  11 Apr 2008; Chris Gianelloni <wolf31o2@gentoo.org> package.use.mask:
  Sync package.use.mask with default-linux.

  10 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>; ppc32/make.defaults,
  ppc64/make.defaults:
  Make VIDEO_CARDS defaults a reasonable set instead of every imaginable
  card.

  10 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>; use.mask:
  changing around video_cards_via masking by unmasking only for available
  arches instead of masking on unavailable.

  02 Apr 2008; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  USE mask dvb and mythtv on gst-plugins-meta - dependencies not keyworded

