# ChangeLog for Gentoo base-profile
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/base/ChangeLog,v 1.611 2013/11/23 04:25:55 vapier Exp $

  23 Nov 2013; Mike Frysinger <vapier@gentoo.org> make.defaults:
  Add ublox to GPSD_PROTOCOLS.

  19 Nov 2013; Tim Harder <radhermit@gentoo.org> package.use.mask:
  Mask racket USE flag for app-editors/(g)vim.

  12 Nov 2013; Andrey Grozin <grozin@gentoo.org>
  package.use.mask:
  Mask USE=berkdb on sci-physics/reduze (needs masked db-6.0).

  10 Nov 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Drop mesa[llvm] mask which lives in individual arch profiles now.

  10 Nov 2013; Michał Górny <mgorny@gentoo.org> package.use.mask:
  Mask USE=sandbox on pypy wrt bug #429372.

  30 Oct 2013; Michał Górny <mgorny@gentoo.org> package.use.force:
  Copy the forced flags to dev-lang/python-exec (the new name).

  27 Oct 2013; Julian Ospald <hasufell@gentoo.org> package.use.mask:
  mask luajit useflag for games-action/minetest

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

  21 Oct 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask mesa i965 driver for security bug #472280.

  15 Sep 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Masked JCE functionality of dev-java/diablo-jdk.

  12 Sep 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.use,
  package.use.force:
  Enable ruby20 by default, do not force it.

  07 Sep 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  net-proxy/swiftiply: Dependency (www-servers/mongrel) currently only works
  with Ruby 1.8; so, masking Ruby 1.9 USE flag until Ruby 1.9 support is added
  to mongrel.

  05 Sep 2013; Michał Górny <mgorny@gentoo.org> package.use.force, use.mask:
  Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.

  01 Sep 2013; Jeff Horelick <jdhore@gentoo.org> package.use.mask:
  mask sid for >=media-plugins/audacious-plugins-3.4

  31 Aug 2013; Julian Ospald <hasufell@gentoo.org> package.use.mask:
  mask custom-cflags for media-libs/libsdl2 since it's unsupported

  27 Aug 2013; Ulrich Müller <ulm@gentoo.org> packages:
  Temporarily add sys-apps/openrc to the system set, until bug 373219 is
  resolved.

  23 Aug 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Removed selinux-tvtime, see bug #479642 (tvtime package was removed earlier
  on)

  23 Aug 2013; Ole Markus With <olemarkus@gentoo.org> make.defaults:
  Changing PHP_TARGETS to php5.5, as it has now been stabilised

  23 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> make.defaults:
  Make emerge messages default to English as per Council decision

  23 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.use.mask:
  Mask >=www-client/chromium-30[system-ffmpeg]

  22 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask openvg flag for recent gnash snapshots

  22 Aug 2013; Michael Weber <xmw@gentoo.org> package.use.mask:
  Expand mask to revisions.

  22 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask, use.mask:
  Drop global opencl masks.

  21 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask opencl flag for mesa-9.2.0_rc1

  16 Aug 2013; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Fix date.

  13 Aug 2013; Tim Harder <radhermit@gentoo.org> package.use.mask:
  Mask luajit USE flag for app-editors/(g)vim.

  12 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  unmask dirac for multilib ffmpeg

  11 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  Mask useflags having unsatisfiable deps for multilib ffmpeg 0.10

  11 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  unmask celt for masked ffmpeg releases

  10 Aug 2013; Michał Górny <mgorny@gentoo.org> make.defaults:
  Move COLLISION_IGNORE and UNINSTALL_IGNORE from make.globals.

  07 Aug 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.

  07 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="ios ipod" for media-sound/clementine wrt #471920

  05 Aug 2013; Ulrich Müller <ulm@gentoo.org> use.mask:
  Remove unused kdeprefix flag.

  02 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove now unnecessary USE="alsa" mask entry for removed media-tv/tvtime.

  02 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Move sys-fs/lvm2[clvm,cman] mask to ../eapi-5-files/package.use.stable.mask

  31 Jul 2013; Alexis Ballier <aballier@gentoo.org> use.mask:
  remove fdk useflag global mask that is useless these days

  30 Jul 2013; Matt Turner <mattst88@gentoo.org> make.defaults:
  Add ABI_MIPS to USE_EXPAND.

  29 Jul 2013; Matt Turner <mattst88@gentoo.org> use.mask:
  Mask MIPS multilib flags.

  29 Jul 2013; Ole Markus With <olemarkus@gentoo.org> package.use.mask:
  Removing kolab use flag mask since no PHP ebulids have this flag anymore

  29 Jul 2013; Sergey Popov <pinkbyte@gentoo.org> make.defaults:
  Drop MISDN_CARDS, wrt bug #471796

  27 Jul 2013; William Hubbs <williamh@gentoo.org> packages:
  Add virtual/service-manager for bug #409385

  24 Jul 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Mask out selinux-sensord (new policy package)

  21 Jul 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Mask phonon useflag of dev-qt/designer

  19 Jul 2013; Mike Gilbert <floppym@gentoo.org> package.use.force:
  Revert previous change; pypy-bin was committed prematurely.

  19 Jul 2013; Ian Delaney <idella4@gentoo.org>
  package.use.force:
  Add flags for new pypy-bin

  17 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Update dev-libs/weston mask for new x11-libs/cairo revision.

  16 Jul 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Remove obsolete introspection masks

  13 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Remove extra =

  13 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask gles2&rpi flag for dev-libs/weston.

  10 Jul 2013; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Remove USE=java mask for =net-dns/libidn-1.27 (bug #472604).

  05 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> make.defaults:
  Bump PHP_TARGETS to php5-4, as it should be always latest stable.

  03 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  Mask libcxxrt[libunwind]

  25 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Update mesa-9.1[r600-llvm-compiler,video_cards_radeonsi] mask message.

  25 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Remove ptlib sdl mask as user-visible breakage is addressed now.

  24 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask libsdl flag for ptlib-2.12, bug #474362.

  18 Jun 2013; Michael Weber <xmw@gentoo.org> package.use.mask:
  Mask =www-client/netsurf-3.0 fbcon pdf-writer gstreamer

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

  13 Jun 2013; Ulrich Müller <ulm@gentoo.org> package.use.mask, use.mask:
  Remove mask for real USE flag because the flag is gone, bug 473206.

  12 Jun 2013; Michael Palimaka <kensington@gentoo.org> package.use.mask:
  Remove obsolete kde-base/kdelibs USE mask.

  08 Jun 2013; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Move mask for app-leechcraft/leechcraft-meta[unstable] from arch profiles

  07 Jun 2013; Jeroen Roovers <jer@gentoo.org> package.use.mask:
  Mask USE=java for +=net-dns/libidn-1.27 (bug #472604).

  04 Jun 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Punt inline commenting wrt #472292 since "man 5 portage" says it's illegal
  by Andreas Wiese

  02 Jun 2013; Robin H. Johnson <robbat2@gentoo.org> package.use.mask:
  Block new PBXT usage per news item.

  01 Jun 2013; Michael Palimaka <kensington@gentoo.org> use.mask:
  Mask qt5 globally.

  01 Jun 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Temporarily mask USE="webkit2" for www-client/midori while waiting for
  >=net-libs/webkit-gtk-2 unmasking from general package.mask.

  30 May 2013; Michał Górny <mgorny@gentoo.org> make.defaults:
  Drop stale ALSA_PCM_PLUGINS from USE_EXPAND. Bug #471792.

  28 May 2013; Mike Gilbert <floppym@gentoo.org> make.defaults:
  Sort USE_EXPAND.

  24 May 2013; Patrick Lauer <patrick@gentoo.org> package.use.mask:
  Remove bad xen/qemu mask

  23 May 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Temporart mask for >=xen-tools/xen-tools-4.2.1-r3[qemu] because of texinfo-5

  21 May 2013; Patrick McLean <chutz@gentoo.org> use.mask:
  Unmask python_targets_python3_3 and python_single_target_python3_3.

  19 May 2013; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask app-doc/doxygen[sqlite]. Experimental feature, fails to build for me

  10 May 2013; Johannes Huber <johu@gentoo.org> package.use.mask:
  Move use mask on net-libs/libkolabxml[php], net-libs/libkolab[php] to stable
  for easier testing bug #430858.

  09 May 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask lyx[subversion]

  08 May 2013; Christian Faulhammer <fauli@gentoo.org> package.use.mask:
  Mask USE=gtk3 for upcoming mail-client/claws-mail-3.9.1, does not build yet

  04 May 2013; Michał Górny <mgorny@gentoo.org> package.use.mask:
  Remove USE=systemd from package.use.mask since the flag is (un)masked
  globally now.

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

  26 Apr 2013; Michael Weber <xmw@gentoo.org> package.use.mask:
  expand use mask

  19 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="kmod" here and unmask it only for Linux in default/linux/

  13 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove redudant mask of now non-existing USE="extras" in sys-fs/udev.

  09 Apr 2013; Rick Farina <zerochaos@gentoo.org> make.defaults:
  Add expanded PYTHON_TARGETS to BOOTSTRAP_USE to prevent catalyst build failures.
  These will need to be kept in sync to keep builds sane.  Bug #465306 report by me,
  verification by jmbsvicetto, all solutions by floppym

  06 Apr 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Drop python-selinux from this mask (moved to global mask for removal)

  04 Apr 2013; Bernard Cafarelli <voyageur@gentoo.org> package.use.mask:
  Mask USE=flac for gnustep-apps/cynthiune

  02 Apr 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=udisks for <gvfs-1.14, thanks to Samuli Suominen (bug #463792).

  28 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Allow wayland with recent gtk+ as libxkbommon is now in tree.

  28 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Drop mesa[wayland] mask now that it is in use.stable.mask

  24 Mar 2013; Richard Freeman <rich0@gentoo.org> package.use.mask:
  Mask cuneiform use flag due to buffer overflow for now.

  23 Mar 2013; Michael Weber <xmw@gentoo.org> package.use.mask:
  mask =media-libs/oyranos-0.9.4 fltk for now

  23 Mar 2013; Tomáš Chvátal <scarabeus@gentoo.org> make.defaults:
  Enable libreoffice implementation by default for office extensions.

  22 Mar 2013; Zac Medico <zmedico@gentoo.org> use.mask:
  Mask python_targets_python3_4, since Python 3.4 pre-releases not available in
  main tree yet.

  19 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Drop glamor mask, add mask for mesa r600-llvm-compiler and radeonsi driver.

  16 Mar 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Add in selinux-abrt package

  16 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Unmasking system-ffmpeg on media-video/avidemux as it no longer has that.

  16 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Masking system-ffmpeg on media-libs/avidemux-core until it compiles & works.

  10 Mar 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Adding mask for SELinux backup module

  10 Mar 2013; Christoph Junghans <ottxor@gentoo.org> package.use.mask:
  Mask media-sound/google-musicmanager log wrt #287697, Comment #12.

  10 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Masking system-ffmpeg on media-video/avidemux until it compiles and works.

  08 Mar 2013; Davide Pesavento <pesa@gentoo.org> package.use.force:
  Adjust entry for qt-creator.

  07 Mar 2013; Tim Harder <radhermit@gentoo.org> package.use.force:
  Add jython2_7 for PYTHON_TARGETS.

  02 Mar 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Use stable-masking only for systemd. Masking it for old profiles is too
  troublesome (overrides arch-specific masks).

  27 Feb 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Mask x32 ABI in base profile. Unmasked in specific profile.

  26 Feb 2013; Michał Górny <mgorny@gentoo.org> package.use.force:
  Force "development" flag on emul-linux-x86-xlibs meta-package since it is no
  longer effective.

  24 Feb 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Mask the systemd flag globally. Unmasked in 13.0 profiles.

  21 Feb 2013; Justin Lecher <jlec@gentoo.org> package.use.mask:
  cuda only works on x86 and amd64

  21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Mask >=media-plugins/gst-plugins-meta-1.0[vpx] because requires new libvpx
  and is not ready to go to stable

  20 Feb 2013; Julian Ospald <hasufell@gentoo.org> package.use.mask:
  mask system-wine useflag for net-misc/teamviewer

  12 Feb 2013; Christoph Junghans <ottxor@gentoo.org> use.mask:
  sse41 -> sse4_1 (bug #456886)

  10 Feb 2013; Julian Ospald <hasufell@gentoo.org> package.use.mask:
  mask broken system-qt useflag for googleearth

  07 Feb 2013; Matt Turner <mattst88@gentoo.org> use.mask:
  Drop sse5 USE flag.

  06 Feb 2013; Matt Turner <mattst88@gentoo.org> use.mask:
  use.mask mips-only loongson2f USE flag.

  01 Feb 2013; Michał Górny <mgorny@gentoo.org> make.defaults, use.mask:
  Introduce ABI_X86 USE_EXPAND and mask the flags by default.

  29 Jan 2013; Michał Górny <mgorny@gentoo.org> package.use.force, use.mask:
  Remove pypy1_8 flag mask, the flags were removed.

  25 Jan 2013; Christoph Junghans <ottxor@gentoo.org> use.mask:
  mask missing amd64/x86 instruction sets

  22 Jan 2013; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Move mask media-gfx/opencolorio -> media-libs/opencolorio

  20 Jan 2013; Michał Górny <mgorny@gentoo.org> use.mask:
  Add a note that pypy flags are unmasked in the new profiles.

  19 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="systemd" for sys-fs/udisks because systemd is not stable yet.

  18 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE="cman clvm" for current ~arch sys-fs/lvm2 because new enough cman
  is in Portage now.

  15 Jan 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  unmask libass[harfbuzz] now that it works, bug #452210 by Nikoli

  13 Jan 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  also mask dev-ml/eliom[ocamlduce], bug #446876 by Michael Palimaka
  (kensington)

  02 Jan 2013; Michał Górny <mgorny@gentoo.org> package.use.force:
  Force pypy2.0 on python-exec.

  02 Jan 2013; Mike Gilbert <floppym@gentoo.org> use.mask:
  Mask pypy targets; should be unmasked for each arch.

  30 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask sys-kernel/dracut[dracut_modules_systemd]; unmasked in arches where
  appropriate.

  30 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask sys-kernel/dracut[dracut_modules_biosdevname]; unmasked in arches where
  appropriate.

  30 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask zeitgeist-datasources[chromium,tomboy]; unmasked in arches where
  appropriate.

  30 Dec 2012; Sven Vermeulen <swift@gentoo.org> package.mask:
  Adding entry for selinux-googletalk

  30 Dec 2012; Sven Vermeulen <swift@gentoo.org> package.mask:
  Adding mask for selinux-openrc

  29 Dec 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Remove obsolete x11-libs/qt-* use.mask entries.

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

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Add epiphany[jit] to webkit-gtk[jit] mask.

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask tracker[eds] since gnome-3.6 has been unmasked (bug #436460).

  26 Dec 2012; Christoph Junghans <ottxor@gentoo.org> package.use.mask:
  masked mkl for sci-chemistry/gromacs

  25 Dec 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Update mesa wayland mask for new stabilization target.

  25 Dec 2012; Julian Ospald <hasufell@gentoo.org> package.use.mask:
  mask systemd useflag for =sys-apps/udevl-0.3.6 to allow stabilization wrt
  #448034

  22 Dec 2012; Zac Medico <zmedico@gentoo.org> package.use.mask:
  Mask USE=pypy2_0 for sys-apps/portage, since pypy has limited KEYWORDS.

  20 Dec 2012; Mike Gilbert <floppym@gentoo.org> use.mask:
  Mask python_targets_pypy2_0.

  19 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Clean up from obsolete package atoms, wrt bug #444181

  25 Dec 2012; <anarchy@gentoo.org> package.use.mask
  Mask PGO useflag on firefox until major work can be done to properly
  support.

  13 Dec 2012; <swift@gentoo.org> package.mask:
  Adding mask for SELinux at policy

  09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask,
  use.mask:
  dev-lang/orc is used in many packages, so move orc from package.use.mask to
  use.mask

  04 Dec 2012; <swift@gentoo.org> package.mask:
  Prepare for selinux-dirsrv package

  04 Dec 2012; Zac Medico <zmedico@gentoo.org> package.use.force:
  Force app-shells/bash[readline] in stage1 builds, so that compgen is
  available for sys-apps/portage (see bug #445576).

  30 Nov 2012; Christoph Junghans <ottxor@gentoo.org> package.use.mask:
  masked cuda and openmm for sci-chemistry/gromacs

  29 Nov 2012; Mike Gilbert <floppym@gentoo.org> package.use.mask:
  Remove mask on test use flag for freerdp.

  26 Nov 2012; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  Remove maskings on net-misc/tor[nat-pmp,upnp]

  24 Nov 2012; Mike Gilbert <floppym@gentoo.org> use.mask:
  Add masks for python_single_target values.

  24 Nov 2012; Michał Górny <mgorny@gentoo.org> make.defaults:
  Introduce PYTHON_SINGLE_TARGET for Python packages not supporting multiple
  Python implementations.

  24 Nov 2012; <creffett@gentoo.org> package.use.mask:
  Mask php USE flag for libkolab and libkolabxml

  18 Nov 2012; <swift@gentoo.org> package.mask:
  Preparing for selinux-makewhatis package

  18 Nov 2012; <swift@gentoo.org> package.mask:
  Preparation for new selinux-logsentry package

  16 Nov 2012; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> make.defaults:
  Add ENLIGHTENMENT_MODULES to USE_EXPAND as discussed on gentoo-dev ML

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

  11 Nov 2012; Mike Gilbert <floppym@gentoo.org> package.use.mask:
  Mask test use flag for net-misc/freerdp.

  06 Nov 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask glamor for xf86-video-ati too.

  04 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.use.mask:
  Mask dane USE flag for net-libs/gnutls.

  01 Nov 2012; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask useflags requiring dev-ml/ocamlduce so that we can mask it and unmask
  ocaml-4

  01 Nov 2012; <swift@gentoo.org> package.mask:
  Adding mask for selinux-dbadmin package

  30 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="systemd" for sys-power/upower because of stabilization.

  29 Oct 2012; Michał Górny <mgorny@gentoo.org> package.use.force:
  Remove traces of pypy1.7, no longer in the tree and not supported by the
  eclasses.

  29 Oct 2012; Michał Górny <mgorny@gentoo.org> package.use.force:
  Enable python3.3 for python-exec.

  22 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Punt obsolete imagemagick mask.

  22 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask legacy USE flag "extras" for >=sys-fs/udev-171.

  14 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Unmask ipv6 USE-flag on dev-libs/libdnet - all rdeps was built successfully
  on it

  12 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Temporarily add a masked osmesa-multilib USE flag for wine to allow overlay
  users to enable osmesa support for win32 on amd64 until bug #430268 is
  resolved.

  11 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Mask ipv6 USE-flag on dev-libs/libdnet

  09 Oct 2012; Justin Lecher <jlec@gentoo.org> package.use.mask:
  Use mask dev-lang/idb[eclipse] because all versions of dev-util/eclipse-sdk
  are masked

  08 Oct 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Remove mask on net-libs/telepathy-qt[farstream] as required dep is stable
  now.

  08 Oct 2012; Mike Gilbert <floppym@gentoo.org> use.mask:
  Mask python_targets_python3_3.

  02 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask <gnome-base/gvfs-1.12.3-r1[udisks] for stabilization bug #427544,
  Comment #27

  29 Sep 2012; <swift@gentoo.org> package.mask:
  Add mask for selinux-rtorrent, new policy ebuild

  27 Sep 2012; Ian Stakenvicius <axs@gentoo.org> make.defaults:
  Added prefix flag to IUSE_IMPLICIT for EAPI=5 ebuild testing

  25 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask gtk+[egl] since it's only useful with wayland.

  19 Sep 2012; Matt Turner <mattst88@gentoo.org> package.use.force:
  Add media-libs/glu -multilib to package.use.force

  19 Sep 2012; Matt Turner <mattst88@gentoo.org> package.use.mask:
  Add media-libs/glu multilib to package.use.mask.

  14 Sep 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Masked media-libs/phonon[zeitgeist] for stabilization as the use flag pulls a
  dep tree of hell.

  13 Sep 2012; Zac Medico <zmedico@gentoo.org> make.defaults:
  Add IUSE injection variables to PROFILE_ONLY_VARIABLES.

  13 Sep 2012; Zac Medico <zmedico@gentoo.org> make.defaults:
  Populate variables for "Profile IUSE injection" (applies only to ebuilds
  which use EAPI 5 or later). These are just minimal settings for ARCH, ELIBC,
  KERNEL, and USERLAND flags which everyone can probably agree on.

  12 Sep 2012; Davide Pesavento <pesa@gentoo.org> package.use.force:
  Force usage of bundled botan in >=qt-creator-2.6

  10 Sep 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Restore mask net-libs/telepathy-qt[farstream] otherwise repoman will scream.

  09 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  GNOME 3.4 is unmasked

  02 Sep 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask wayland for one more version of mesa so it can go stable, bug #432400.

  31 Aug 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="cdr" of app-pda/gtkpod for #433535

  22 Aug 2012; <swift@gentoo.org> package.mask:
  Adding mask for SELinux vdagent policy

  22 Aug 2012; <swift@gentoo.org> package.mask:
  Adding mask for SELinux device kit policy package

  31 Jul 2012; Ralph Sennhauser <sera@gentoo.org> use.mask:
  Mask python_targets_jython*, unmask where it's available.

  28 Jul 2012; <swift@gentoo.org> package.mask:
  Adding mask for SELinux flash policy

  27 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use:
  Add xorg to default flags for x11-base/xorg-server, sort newest first.

  26 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask osmesa flag for mesa-8.1_rc1_pre20120724

  26 Jul 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask experimental udisks2 support for kde-base/kdelibs, bug #424157.

  22 Jul 2012; <swift@gentoo.org> package.mask:
  Adding mask for SELinux chromium policy module

  21 Jul 2012; <swift@gentoo.org> package.mask:
  Adding mask for new nslcd selinux policy package

  20 Jul 2012; Ole Markus With <olemarkus@gentoo.org> package.use.mask:
  PHP Kolab patch broken with newer versions of c-client

  18 Jul 2012; Michael Weber <xmw@gentoo.org> package.use.mask:
  www-client/netsurf: webp got functional

  18 Jul 2012; Ralph Sennhauser <sera@gentoo.org> package.use.mask:
  use mask eclipse for dev lang/icc as it requires masked eclipse-sdk

  18 Jul 2012; Michael Weber <xmw@gentoo.org> package.use.mask:
  www-client/netsurf: mask problematic use flags for now

  16 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Update glamor mask to only apply to stable xf86-video-intel.

  12 Jul 2012; <swift@gentoo.org> package.mask:
  Adding selinux-phpfpm to the general selinux mask (upcoming new policy build)

  04 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove obsolete entries to net-libs/xulrunner and www-client/icecat wrt
  #424617

  29 Jun 2012; Mike Gilbert <floppym@gentoo.org> package.use.mask:
  Mask libzfs flag for grub due to sys-fs/zfs keywords.

  22 Jun 2012; Tony Vroon <chainsaw@gentoo.org> make.defaults:
  Add VOICEMAIL_STORAGE to USE_EXPAND for net-misc/asterisk; approved by Ian
  "axs" Stakenvicius on gentoo-dev.

  19 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  mask wayland flag for stable mesa, #419473

  18 Jun 2012; <swift@gentoo.org> package.mask:
  Removing obsoleted packages, see #415729

  18 Jun 2012; Ultrabug <ultrabug@gentoo.org> package.use.mask:
  Drop gevent USE mask for www-servers/uwsgi wrt gevent-1.0_beta2 being
  unmasked

  17 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Restrict c++0x and qpa USE mask to Qt < 4.8.3 only.

  14 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Consolidate USE=jit masking/unmasking for qt-script and qt-webkit.

  13 Jun 2012; Zac Medico <zmedico@gentoo.org> package.use.mask:
  Mask USE=pypy1_9 for sys-apps/portage, since pypy has limited KEYWORDS.

  02 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Postgres support in calligra needs libpqxx-3* which is not in the tree
  anymore

  02 Jun 2012; Michael Weber <xmw@gentoo.org> package.use.mask:
  dev-db/firebird client: Not fit for production (bug 404403, comment #5)

  25 May 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Mask ipp useflag on opencv, because icc cannot be installed (no distfile)

  25 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Remove webkit-gtk's USE mask, the flags are now masked in specific arches.

  24 May 2012; Arun Raghavan <ford_prefect@gentoo.org> package.use.mask:
  Consolidate media-sound/pulseaudio entries.

  24 May 2012; Arun Raghavan <ford_prefect@gentoo.org> package.use.mask:
  For PulseAudio, mask xen USE flag by default, unmask on x86/amd64 where it is
  supported.

  21 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove USE="test" mask for app-text/asciidoc because media-sound/lilypond is
  stable again wrt #415627

  21 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove mask for USE="nsplugin" in media-video/vlc because it was removed in
  favour of media-plugins/npapi-vlc.

  20 May 2012; Maciej Mrozowski <reavertm@gentoo.org> package.use.mask:
  Remove USE mask on kdevelop-php doc

  18 May 2012; Mike Frysinger <vapier@gentoo.org> packages:
  Force recent patch version so devs do not need to worry about inconsistent
  treatment of DOS line endings and differences in behavior with patch-2.5.

  15 May 2012; Mike Gilbert <floppym@gentoo.org> make.defaults:
  Set default value for PYTHON_TARGETS, bug 415575.

  14 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Start gnome-3.4 package.use.mask

  10 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask =app-misc/gnote-0.8.2[applet] to allow stabilization (bug #414983).

  07 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask deprecated xulrunner support for =media-video/vlc-1.1* wrt #407567

  02 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask qt4 flag for <cairo-1.12

  01 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask xf86-video-intel glamor flag.

  19 Apr 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Mask c++0x and qpa USE flags for the new qt-bearer ebuild too.

  19 Apr 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask net-libs/telepathy-qt[farstream] as required dep is masked.

  19 Apr 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Remove obsolete use mask for net-libs/telepathy-qt[glib], required version in
  tree.

  13 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask webkit-gtk[geoloc] in base and unmask on arches where app-misc/geoclue
  and app-accessibility/at-spi2-core are available.

  13 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Consolidate USE=systemd mask, and add gnome-system-monitor.

  12 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Temporarily mask gobject-introspection[doctool] for mako keywording to avoid
  touching hppa profile, bug #411761.

  12 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask gtkmm[wayland] since it needs gtk+[wayland].

  11 Apr 2012; Sebastian Pipping <sping@gentoo.org> package.use.mask:
  Mask >=media-libs/babl-0.1.8[introspection] and >=media-libs/gegl-0.2[introspection]

  11 Apr 2012; Michał Górny <mgorny@gentoo.org> package.use.mask:
  Mask USE=jit on libzpaq for non-x86/amd64.

  08 Apr 2012; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask x264-encoder[ffmpegsource] on all versions but latest one

  05 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE="q64" for media-gfx/imagemagick >= 6.7.6.4 wrt #401327

  31 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Update mask of c++0x and qpa USE flags to include Qt 4.8.1.

  29 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> use.mask:
  Mask video_cards_omap as it is not useful on most arches.

  28 Mar 2012; Arun Raghavan <ford_prefect@gentoo.org> package.use.mask:
  webrtc-audio-processing is only supported on x86/amd64. Possibly arm can be
  added.

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=systemd for gnome-extra/gnome-screensaver, it requires a systemd
  version which is keyworded only on two arches.

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask x11-libs/gtk+[wayland], requires libxkbcommon from x11 overlay.

  26 Mar 2012; <swift@gentoo.org> package.mask:
  Masking out new selinux-sssd package for non-SELinux systems

  25 Mar 2012; Krzysztof Pawlik <nelchael@gentoo.org> make.defaults:
  Add PYTHON_TARGETS to USE_EXPAND.

  25 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Fix cairo mask.

  24 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Allow USE="openvg" for latest cairo release.

  23 Mar 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask broken upnp use flag in kde-base/kdelibs for upcoming stabilization.

  22 Mar 2012; Tim Harder <radhermit@gentoo.org> package.use.mask:
  Mask USE="skype" for bitlbee since skype has no stable versions.

  20 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="acl" for sys-auth/consolekit here and unmask it in
  default/linux/package.use.mask.

  18 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> use.mask,
  package.use.mask:
  Remove entries related to media-sound/esound which got removed from tree.

  12 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="packagekit" because it's not ready.

  12 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="test" for app-text/asciidoc because media-sound/lilypond is masked
  in ../package.mask for removal.

  03 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove USE="libffi" mask for sys-devel/gcc because the flag is gone wrt
  #354903

  28 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="vidix" as x86 only.

  26 Feb 2012; Mike Doty <kingtaco@gentoo.org> packages:
  adding sys-apps/less temporarly to resolve bug 398295.

  26 Feb 2012; <swift@gentoo.org> package.mask:
  Mask out new selinux policy packages

  25 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask directfb for gnash.

  24 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Unmask lirc on most recent gnash

  18 Feb 2012; Zac Medico <zmedico@gentoo.org> package.use.mask:
  Mask USE=pypy1_8 for sys-apps/portage, since pypy has limited KEYWORDS.

  11 Feb 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=systemd for gnome-extra/gnome-screensaver, it requires a systemd
  version which is masked and keyworded only for 2 arches.

  10 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="q64" for media-gfx/imagemagick wrt #401327 and #402999

  08 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> package.use.mask:
  Global mask for gnustep-base/gnustep-make[libobjc2] with new version

  05 Feb 2012; Christoph Junghans <ottxor@gentoo.org> package.use.mask:
  mips flags exist also in fftw-3.2

  04 Feb 2012; Christoph Junghans <ottxor@gentoo.org> package.use.mask:
  Masked sci-libs/fftw mips only flags

  03 Feb 2012; William Hubbs <williamh@gentoo.org> packages:
  replace sys-apps/module-init-tools with virtual/modutils for bug #401899.

  31 Jan 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Remove use mask on phonon-xine. Backend is removed from tree.

  29 Jan 2012; Alex Alexander <wired@gentoo.org> package.use.mask:
  masked experimental qt useflags qpa and c++0x

  25 Jan 2012; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask glib use flag for >=net-libs/telepathy-qt-0.9, required version of
  net-libs/telepathy-glib is not in tree yet. 

  23 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE="test" for x11-libs/libnotify because GTK+ 3.0 has been stabilized
  since.

  23 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.force:
  Force USE="symlink" enabled for x11-libs/libnotify while waiting for
  supporting eselect module wrt #379941

  20 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE="jack" for media-plugins/audacious-plugins wrt #389439 by Bob
  Johnson

  14 Jan 2012; Sven Vermeulen <swift@gentoo.org> package.mask:
  Mask SELinux policy packages that are soon to be added
  
  10 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="e2fsprogs" for app-arch/libarchive as Linux -only feature wrt
  #354923

  09 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE="jit" for webkit-gtk in base profile; it is unmasked in individual
  profiles which support it (bug #396313).

  08 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE="pronounce" for stardict 3.0.3 and above wrt #246174

  07 Jan 2012; Mike Frysinger <vapier@gentoo.org> packages:
  Require baselayout-2 now so packages don't have to #396731.

  05 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="systemd" for sys-auth/polkit for keywording and testing.

  31 Dec 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  remove usemask for vlc useflag thats now gone

  06 Dec 2011; Mike Frysinger <vapier@gentoo.org> package.use.mask:
  Mask gcc[libssp] as no one should generally be using it.

  06 Dec 2011; Mike Frysinger <vapier@gentoo.org> packages:
  Drop zlib dep from system since pkgs pull it in as needed.

  06 Dec 2011; Mike Frysinger <vapier@gentoo.org> packages:
  Drop ncurses dep from system since pkgs pull it in as needed.

  06 Dec 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  usemask vlc media-library useflag: does not build

  06 Dec 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask vlc macosx-qtkit useflag too

  06 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="pic" in media-video/transcode here and unmask only for x86 arch.

  06 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="nuv" for media-video/transcode and explicitely unmask it for x86
  arch only.

  02 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove now unnecessary entry for media-video/tovid.

  01 Dec 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Drop obsolete introspection mask entries, requested by darkside.

  30 Nov 2011; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Mask USE="jit" for x11-libs/qt-webkit.

  29 Nov 2011; Mike Frysinger <vapier@gentoo.org> packages:
  Drop sys-libs/readline from system; USE=readline controls when it is needed.

  25 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  GNOME 3.2 is unmasked!

  25 Nov 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="suid" for www-client/links everywhere except x86.

  24 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Unmask libpeas[seed] and gnome-games[seed] since seed-3.2.0 works well
  enough.

  14 Nov 2011; Mike Frysinger <vapier@gentoo.org> packages:
  Move sys-apps/net-tools to Linux profiles.

  12 Nov 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="wxwidgets" for media-video/tovid wrt #330683

  09 Nov 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  dev-lang/path64[debugger]: pathdb works only as a SIGSEGV generator, mask
  until upstream fixes it, bug #385683

  31 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  mx-1.0 is in portage, evolution[clutter] can be enabled. However, it
  shouldn't be dropped on gnome2 stable users without some testing.

  27 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=applet for gtk3-based gnote, it pulls in masked gnome-panel-3.

  22 Oct 2011; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Remove xen mask for app-emulation/libvirt

  22 Oct 2011; Matt Turner <mattst88@gentoo.org> use.mask:
  use.mask arm's iwmmxt flag.

  21 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Undo poorly thought out masking of USE="colord packagekit" on gtk+; need to
  get it keyworded properly (bug #387959)

  21 Oct 2011; Hans de Graaff <graaff@gentoo.org> use.mask:
  Mask Rubinius by default like other ruby targets.

  19 Oct 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE="colord" and "packagekit" for x11-libs/gtk+.

  16 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="bluray" for gnome-base/gvfs.

  13 Oct 2011; Alex Legler <a3li@gentoo.org> package.use.mask:
  Mask alsa USE flag for upcoming tvtime packages

  03 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Update mask message for USE=dxr3"

  01 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="nautilus" for gnome-disk-utility >= 3 pending on nautilus >= 3
  unmasking.

  27 Sep 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask dev-libs/glib[systemtap] and unmask for amd64/x86, bug 384647

  18 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Remove obsolete USE="hal" mask.

  06 Sep 2011; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Unmask spice useflag for qemu-kvm since spice is now stable

  23 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Don't unmask introspection on stable babl

  22 Aug 2011; Andreas K. Huettel <dilfridge@gentoo.org> make.defaults:
  The component active belongs to Calligra Mobile, which we dont support here

  21 Aug 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Remove obsolete/invalid masks

  19 Aug 2011; Andreas K. Huettel <dilfridge@gentoo.org> make.defaults:
  Update list of calligra features

  19 Aug 2011; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Masking xen useflag in libvirt per bug #379815

  19 Aug 2011; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Mask spice for app-emulation/qemu-kvm as well

  19 Aug 2011; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Masking rbd for app-emulation/qemu-kvm per bug #364889

  19 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask USE=introspection on glib because it's mostly useless for now, and
  causes an extra gobject-introspection dep on systems

  16 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Use-mask seed, broken package

  16 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Add libgdata to the introspection mask, pointed out by Mr_Bones_

  16 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask,
  use.mask:
  Convert the introspection mask from a whitelist to a blacklist.
  USE=introspection is now unmasked in general, and masked only on old stable
  ebuilds.

  14 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection on gupnp-related packages and gstreamer

  22 Jul 2011; Anthony G. Basile <blueness@gentoo.org> package.use.mask:
  Mask USE="nat-pmp" and "upnp" here and unmask it in amd64 and x86 profiles.


  11 Jul 2011; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="opencl" here and unmask it in amd64 and x86 profile.

  11 Jul 2011; Robin H. Johnson <robbat2@gentoo.org> package.use.mask:
  Mask parse-clocks for ntp due to pps-tools.

  03 Jul 2011; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  Mask maui use flag for torque

  01 Jul 2011; Alexey Shvetsov <alexxy@gentoo.org> use.mask:
  use mask infiniband in base profile

  30 Jun 2011; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  Use mask infiniband for stable corosync and glusterfs

  30 Jun 2011; Alexey Shvetsov <alexxy@gentoo.org> make.defaults,
  package.use.mask:
  Also unmask infiniband use flag

  30 Jun 2011; Alexey Shvetsov <alexxy@gentoo.org> make.defaults:
  Add OPENIB_DRIVERS to USE_EXPAND

  19 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Remove glade use-mask, it's been added to the tree

  15 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Edit vte glade mask to only affect slot 2.90 (slightly broken, but this will
  go away soon)

  12 Jun 2011; Brian Harring <ferringb@gentoo.org> profile.bashrc:
  Remove /etc/portage/env hack- it belongs in the PM, and has been in
  portage since 04/10, and alt PMs have their own ways of doing the
  same.

  11 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection for webkit-gtk

  07 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> package.use.mask:
  Mask libobjc2 flag for gnustep-base/gnustep-make

  02 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection on media-libs/libchamplain

  28 May 2011; Mike Frysinger <vapier@gentoo.org> packages:
  Force newer shadow versions in the whole tree #367633.

  15 May 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Drop unmask of USE="hal" for kde-base/solid because KDE 4.6 is now stable and
  has udev support.

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

  02 May 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Add telepathy-glib to the introspection list, remove libwnck from glade
  list

  01 May 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Add libwnck to the glade/introspection lists

  30 Apr 2011; Ulrich Mueller <ulm@gentoo.org> -virtuals:
  Remove old-style virtual/linux-sources, bug 118442.

  30 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask introspection on vte, gtk+-2.24, and mask glade on vte

  30 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask USE=glade on gtksourceview:3.0

  29 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask introspection for libsoup-2.34, libsoup-gnome-2.34

  28 Apr 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask celt useflag for non live ffmpeg ebuilds as libcelt is masked

  24 Apr 2011; Ulrich Mueller <ulm@gentoo.org> packages, virtuals:
  Remove old-style virtual/modutils, bug 358891.

  24 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection for gtk+:3 deps as well (oops)

  24 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection for gtk+:3

  24 Apr 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Unmask USE=introspection on a few packages. This list will grow till the
  use.mask can be removed completely.

  20 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove cron and libc old-style virtuals, bugs 360109 and 359001.

  18 Apr 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Explicitly allow video_cards_nouveau for libdrm until bug #364027 is
  fixed.

  16 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/aspell-dict, bug 358821.
  Remove old-style virtual/blackbox, bug 358825.
  Remove old-style virtual/inetd, bug 358831.
  Remove old-style virtual/ssh, bug 361121.

  15 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove dev-manager and dhcp old-style virtuals, bugs 361133 and 358827.

  13 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/{man,skkserv,w3m}; bugs 358839, 358851, 358855.

  12 Apr 2011; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Mask orc USE flag on gst-plugins-bad (unmasked only on supported arches).

  10 Apr 2011; Diego E. Pettenò <flameeyes@gentoo.org> package.use:
  Don't let sudo ldap support enabled by default.

  09 Apr 2011; Ulrich Mueller <ulm@gentoo.org> packages, virtuals:
  Old-style virtual/portage is replaced by new-style virtual/package-manager,
  bug 358847.

  07 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/pam, bug 358903.
  Remove old-style virtual/logger, bug 358881.

  05 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/python, bug 358849.
  Remove old-style virtual/utempter, bug 361117.

  04 Apr 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/m3, bug 358837.

  03 Apr 2011; Ulrich Mueller <ulm@gentoo.org> packages, virtuals:
  Remove old-style virtual/gzip, bug 358829.

  02 Apr 2011; Samuli Suominen <ssuominen@gentoo.org> virtuals:
  Remove virtual/libpcap wrt #358835.

  30 Mar 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  use.mask:
  Mask video_cards_qxl

  30 Mar 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  bda useflag on vlc is gone, no need to mask it

  29 Mar 2011; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask:
  Drop mesa gallium mask that is obsolete.

  29 Mar 2011; Andrey Grozin <grozin@gentoo.org> package.use.mask:
  mask USE=octave in sci-libs/mathgl

  28 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  remove old style virtual/mta - bug 360305

  27 Mar 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask,
  use.mask:
  Mask USE="hal" as deprecated and replaced by USE="udev".

  22 Mar 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/jabber-server and virtual/tftp, bugs 358833 and
  359125.

  20 Mar 2011; Ultrabug <ultrabug@gentoo.org> package.use.mask, use.mask:
  Mask clustering support until new sys-cluster/cman is pushed.

  20 Mar 2011; Samuli Suominen <ssuominen@gentoo.org> make.defaults:
  Remove XZ_OPT="--memory=max" for app-arch/xz-utils wrt #342961 by Ben Kohler.

  20 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  remove old style virtual/mailx

  20 Mar 2011; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Mask orc USE flag on gst-plugins-good (unmasked only on supported arches).

  19 Mar 2011; Samuli Suominen <ssuominen@gentoo.org> virtuals:
  Remove virtual/alsa.

  19 Mar 2011; Samuli Suominen <ssuominen@gentoo.org> virtuals:
  Move virtual/lpr to new-style virtual.

  19 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  remove old style virtual/imapd

  18 Mar 2011; Ultrabug <ultrabug@gentoo.org> use.mask:
  remove cman from use.mask with ack from flameeyes and robbat2

  18 Mar 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Remove obsolete introspection-related use-masks

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

  16 Mar 2011; Nirbheek Chauhan <nirbheek@gentoo.org> use.mask:
  Remove gtk3 from use.mask, update introspection use.mask comment

  16 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  virtual/imap-c-client changed to new style - bug 358993

  16 Mar 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/antivirus, bug 358817.

  16 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  remove old style virtual/mda

  16 Mar 2011; Eray Aslan <eras@gentoo.org> ChangeLog:
  remove double entry

  15 Mar 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Kill old-style virtual/quicktime, bug 358857.

  14 Mar 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove spurious old-style virtuals.

  13 Mar 2011; Eray Aslan <eras@gentoo.org> virtuals:
  Remove old style virtual/krb5.

  04 Mar 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  android useflag for vlc is gone

  02 Mar 2011; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org> packages:
  Added xz-utils to the system set per discussion in the dev ml[1].
  Portage snapshots are already being offered as lzma archives and releng might
  start building stages as lzma archives too.
  [1] -
  http://archives.gentoo.org/gentoo-dev/msg_e6356a2c6c756d98fb6dd9b4666b367c.xm
  l

  24 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask android useflag for vlc

  22 Feb 2011; Sebastian Pipping <sping@gentoo.org> package.use.mask:
  Mask use flag "test" on app-text/asciidoc

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask neon useflag for vlc

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask Mac OSX specific useflags for vlc

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask remainings win32 specific useflags for vlc

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  vlc[dxva2] is also win32 specific

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  mask win32 useflags for vlc

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  useflag pda for vlc has been dropped, remove unneeded mask entry

  13 Feb 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  P.use.mask media-video/mplayer bluray again until devs know how to use
  repoman...

  05 Feb 2011; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Masked new selinux policies.

  05 Feb 2011; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="test" for x11-libs/libnotify because of x11-libs/gtk+:3
  requirement.

  30 Jan 2011; Arun Raghavan <ford_prefect@gentoo.org> package.use.mask:
  Mask orc USE flag on gst-plugins-ffmpeg (unmasked only on supported arches).

  19 Jan 2011; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Restrict gnome-extra/gnome-games clutter use-flag masking to =2.3*

  18 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Unmask x11-base/xorg-server doc since #323647 is resolved

  06 Jan 2011; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove stale virtual/j2ee, no ebuild provides it.

  27 Dec 2010; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Add gst-plugins-a52dec to the orc package.use.mask set

  17 Dec 2010; Ulrich Mueller <ulm@gentoo.org> virtuals:
  Remove old-style virtual/commonlisp.

  08 Dec 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask omapfb

  06 Dec 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask x11-base/xorg-server doc until #323647 is resolved

  02 Dec 2010; Diego E. Pettenò <flameeyes@gentoo.org> package.use.mask:
  Mask jack USE flag for audacious-plugins so that we can drop from stable the
  broken bio2jack ebuilds.

  28 Nov 2010; Robin H. Johnson <robbat2@gentoo.org> package.use.mask:
  Bug #344885: Upstream has broken USE=debug for 5.1 series >=5.1.51

  28 Nov 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Mask mesa's llvm flag, bug #320221

  19 Nov 2010; Arun Raghavan <ford_prefect@gentoo.org> package.use.mask:
  Mask orc for gst-plugins-base by default (to be unmasked on supported platforms)

  18 Nov 2010; Pacho Ramos <pacho@gentoo.org> package.use.mask:
  Mask clutter USE on evolution due bug #345937

  18 Nov 2010; Justin Lecher <jlec@gentoo.org> package.use.mask:
  Fix Version of cns which is masked

  17 Nov 2010; Justin Lecher <jlec@gentoo.org> package.use.mask:
  Mask USE=aria sci-chemistry/cns
  Upstream didn't release patches for aria yet

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

  10 Nov 2010; Andrey Grozin <grozin@gentoo.org> package.use.mask:
  Unmask qt4 USE flag for app-office/texmacs

  07 Nov 2010; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask:
  Mask openvg use on cairo

  07 Nov 2010; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask:
  Mask bluray useflag on mplayer snapshots

  07 Nov 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  package.use.mask:
  Unmask "declarative" USE flag for dev-python/PyQt4.

  23 Oct 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  package.use.mask:
  Mask "declarative" USE flag for dev-python/PyQt4.

  20 Oct 2010; Zac Medico <zmedico@gentoo.org> package.use.force:
  Force ipc USE flag for sys-apps/portage since it should remain enabled
  unless it is found to be incompatible with a specific profile or
  environment. When enabled, it fixes bug #278895, bug #315615, and makes
  subshell die support more robust (so that repoman's ebuild.nesteddie check
  is irrelevant).

  28 Sep 2010; Andreas K. Huettel (dilfridge) <mail@akhuettel.de>
  make.defaults:
  Added COLLECTD_PLUGINS to USE_EXPAND, defined a default list of plugins

  27 Sep 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  Enable gallium for mesa-7.9_rc users

  17 Sep 2010; Andrey Grozin <grozin@gentoo.org> package.use.mask:
  Masking clozurecl USE flag for maxima (formerly it was openmcl)

  15 Sep 2010; Patrick Lauer <patrick@gentoo.org> package.use.mask:
  Masking bzip2 useflag for dovecot-1

  01 Sep 2010; Alex Legler <a3li@gentoo.org> package.use.mask:
  Mask the fastthreading USE flag of dev-lang/ruby-enterprise. That feature
  is marked as experimental upstream.

  23 Aug 2010; Magnus Granberg <zorry@gentoo.org> package.use.mask:
  Undo the change for hardened #280413

  23 Aug 2010; Magnus Granberg <zorry@gentoo.org> package.use.mask:
  Moved hardened from default/linux/package.use.mask #280413

  23 Aug 2010; Robert Piasek <dagger@gentoo.org> package.use.mask:
  I've backported dhclient-3 patch to NM 0.8.1, so there is no more need
  to mask that flag.

  16 Aug 2010; Jeroen Roovers <jer@gentoo.org> virtuals:
  Remove old style virtual/gsasl thanks to peper.

  04 Aug 2010; Justin Lecher <jlec@gentoo.org> package.use.mask:
  Use removed from package - sci-visualization/qtiplot xls

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

  23 Jul 2010; Peter Volkov <pva@gentoo.org> package.use.mask:
  Unmasked mod_srl USE flag for net-im/ejabberd: it workd now, thank NN

  14 Jul 2010; Benedikt Böhm <hollow@gentoo.org> make.defaults:
  fix #328215

  13 Jul 2010; Markus Duft <mduft@gentoo.org> use.mask:
  remove obsolete USE flag (interix prefix only)

  07 Jul 2010; Andrey Grozin <grozin@gentoo.org> package.use.mask:
  Masked qt4 USE for app-office/texmacs: does not work with the current qt

  05 Jul 2010; Matti Bickel <mabi@gentoo.org> virtuals:
  virtual/httpd-php is now a new style virtual

  01 Jul 2010; Peter Volkov <pva@gentoo.org> package.use.mask:
  Masked mod_srl USE for ejabberd until we test it better

  30 Jun 2010; Justin Lecher <jlec@gentoo.org> ChangeLog:
  Use-masked xls for sci-visualization/qtiplot-0.9.8, because
  dev-libs/excelformat is not working

  29 Jun 2010; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask clutter on gnome-extra/gnome-games till introspection is unmasked

  26 Jun 2010; Kacper Kowalik <xarthisius@gentoo.org> package.use.mask:
  Mask USE=infiniband for sys-cluster/corosync

  26 Jun 2010; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Forgot to mask icecat too

  26 Jun 2010; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask USE=ipc for firefox/xulrunner due to bug 325185

  26 Jun 2010; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Masking USE firefox and xulrunner for =dev-java/swt-3.3*.

  26 Jun 2010; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask clutter-gst introspection till gstreamer and gst-plugins-base get
  introspection support

  23 Jun 2010; Jonathan Callen <abcd@gentoo.org> use.mask:
  Mask gtk3 USE flag

  22 Jun 2010; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Drop qml use flag masking from qt-creator

  13 Jun 2010; Dror Levin <spatz@gentoo.org> use.mask:
  Remove vpx USE mask.

  13 Jun 2010; Tomas Touceda <chiiph@gentoo.org> package.use.mask:
  Mask svm flag for clisp because the module's broken.

  12 Jun 2010; Dror Levin <spatz@gentoo.org> use.mask:
  Use mask vpx until media-libs/libvpx is keyworded by arches.

  06 Jun 2010; Maciej Mrozowski <reavertm@gentoo.org> package.use.mask:
  Mask cups and google-gadgets USE flags also for KDE 4.4

  05 Jun 2010; Mike Frysinger <vapier@gentoo.org> make.defaults:
  Let XZ use all memory when unpacking to avoid failure with low-mem
  #303975.

  05 Jun 2010; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE bluetooth for app-pda/pilot-link wrt #249889 by Jesse Adelman.

  12 May 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  unmask dev-libs/udis86 test after adding patch to make yasm optional

  10 May 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  package.use.mask dev-libs/udis86 test

  03 May 2010; Alex Legler <a3li@gentoo.org> use.mask:
  Readd ruby_targets_ree18 USE mask. Supported arches will be whitelisted

  02 May 2010; Alex Legler <a3li@gentoo.org> use.mask:
  Remove ruby_targets_ree18 mask

  29 Apr 2010; Zac Medico <zmedico@gentoo.org> profile.bashrc:
  Skip /etc/portage/env code if PM_EBUILD_HOOK_DIR is set since this means
  that /etc/portage/env is supported by the package manager:
  http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ef202
  4a33be93a256beef28c1423ba1fb706383d

  29 Apr 2010; Peter Volkov <pva@gentoo.org> make.defaults:
  Add XTABLES_ADDONS as discussed in -dev on 18.01.2010 (but dropped
  _MODULES part to make it shorter).

  13 Apr 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.use.mask:
  mask video_cards_nouveau

  9 Apr 2010; Zac Medico <zmedico@gentoo.org> package.use.mask:
  Mask python3 for stable portage until python-3.x is marked stable.

  21 Mar 2010; Vlastimil Babka <caster@gentoo.org> package.use.mask:
  Remove dev-java/gnu-classpath nsplugin use mask, as the flag was removed
  physically.

  07 Mar 2010; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask x86_* flags sse3, sse4, sse4a, and sse5.

  07 Mar 2010; Benedikt Böhm <hollow@gentoo.org> make.defaults:
  add NGINX_MODULES_HTTP and NGINX_MODULES_MAIL to USE_EXPAND

  20 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask sane_backends_qcam here for ioperm/portaccess and unmask only on
  amd64/x86 for now.

  19 Feb 2010; Diego E. Pettenò <flameeyes@gentoo.org> package.use.force:
  Force jruby for duby as well.

  16 Feb 2010; Diego E. Pettenò <flameeyes@gentoo.org> package.use.force:
  Add bitescript to the list of forced packages.

  14 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask SANE_BACKENDS="canon_pp hpsj5s mustek_pp" here because they are
  amd64/x86 only.

  28 Jan 2010; Diego E. Pettenò <flameeyes@gentoo.org> package.use.force:
  Add jruby-debug-base to the list of forced gems.

  24 Jan 2010; Zac Medico <zmedico@gentoo.org> package.use.mask:
  Mask python3 for stable portage until python-3.x is marked stable.

  20 Jan 2010; Markos Chandras <hwoarang@gentoo.org> package.use.mask:
  Masking qml use flag for qt-creator-1.3.1 due to qt-declarative
  unsatisfied dependencies

  15 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> package.use.mask,
  use.mask:
  Remove now unrequired USE="arts" mask.

  14 Jan 2010; Alex Legler <a3li@gentoo.org> package.use.force:
  Fix ruby package.use.force entries

  10 Jan 2010; Jeremy Olexa <darkside@gentoo.org> package.use.mask:
  mask wicd[ioctl] wrt bug 299674

  29 Dec 2009; Nirbheek Chauhan <nirbheek@gentoo.org> use.mask:
  Entries need to be added to bottom of file, and with proper header

  29 Dec 2009; Nirbheek Chauhan <nirbheek@gentoo.org> use.mask:
  Add introspection to use.mask in anticipation of addition of ebuilds with
  this use-flag

  23 Dec 2009; Vlastimil Babka <caster@gentoo.org> package.use.mask:
  Mask nsplugin of 1.4 emul java due to security.

  14 Dec 2009; Alex Legler <a3li@gentoo.org> use.mask:
  Add ruby_targets_jruby to use.mask

  11 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask net-im/licq[kde,qt4] wrt bugs #268134 and #296505.

  07 Dec 2009; Alex Legler <a3li@gentoo.org> use.mask:
  use.mask ruby_targets_ruby19 and ruby_targets_ree18

  04 Dec 2009; Zac Medico <zmedico@gentoo.org> +package.use:
  Bug #295615 - Disable cxx by default for net-nds/openldap, in order to
  avoid a die in pkg_setup with default USE settings (cxx requires sasl).

  03 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> make.defaults:
  Enable USE cxx by default wrt
  http://archives.gentoo.org/gentoo-dev/msg_a181cd0d36600067b599f4b996c6989f
  .xml.

  03 Dec 2009; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  Mask experimental mpi use flag for gamess

  30 Nov 2009; Alex Legler <a3li@gentoo.org> make.defaults:
  Add RUBY_TARGETS to USE_EXPAND as discussed on -dev starting Oct 6, 2009

  29 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove obsolete kde-base/kopete[jingle] mask for KDE 3.5.10.

  29 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE lzma for ark, kdelibs and kdebase-kioslaves because of xz-utils
  depend.

  25 Nov 2009; Alexey Shvetsov <alexxy@gentoo.org> package.use.mask:
  Mask infiniband use flag. OFED stack available via science overlay

  11 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE arts for app-emulation/emul-linux-x86-soundlibs, required by
  app-emulation/emul-linux-x86-qtlibs.

  11 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Temporarily mask USE arts for kde-base/.

  10 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Unmask USE doomsday.

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

  01 Nov 2009; Gilles Dartiguelongue <eva@gentoo.org> package.use.mask:
  Mask tracker USE flag in apps using it, bug #291501.

  19 Oct 2009; Jonathan Callen <abcd@gentoo.org> package.use.force:
  Remove media-sound/rubyripper's X USE flag from package.use.force; flag
  has been removed

  14 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask sys-devel/gcc[libffi] to avoid conflict with dev-libs/libffi in
  ld.so.conf.

  10 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE google-gadgets for plasma-workspace wrt #287697. Only available
  on KDE 4.3.2.

  10 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE cups for kdeadmin-meta and kdeutils-meta wrt #287697. Only
  available on KDE 4.3.2.

  10 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE facebook for net-im/kopete because of missing KEYWORDS.

  09 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask app-misc/strigi log wrt #287697, Comment #12.

  04 Oct 2009; Christian Faulhammer <fauli@gentoo.org> package.use.mask:
  unmask lirc_devices_iguanaIR

  23 Sep 2009; Jean-Noël Rivasseau <elvanor@gentoo.org> package.use.mask:
  X use flag only for amd64/x86, bug 285951.

  21 Sep 2009; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  Mask '=app-office/openoffice-3.1.1 kde' since it's broken with KDE4

  16 Sep 2009; Alex Legler <a3li@gentoo.org> package.use.mask:
  Masking the "kolab" USE flag for >=www-apps/horde-webmail-1.2.4.
  wrobel is currently away, package needs a bump for security bug 285052 and
  I can't generate the patch.

  16 Sep 2009; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask:
  Unmask policykit useflag on pulseaudio. Per irc request. Since the reason
  for the mask is long gone.

  05 Sep 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  ChangeLog:
  Dropped base/package.mask as the KDE-4.3 masks have been moved to the
  individual arches package.mask files.

  15 Aug 2009; Zac Medico <zmedico@gentoo.org> make.defaults:
  Remove FEATURES settings that are already included in make.globals for
  all supported portage versions (since at least portage-2.1.4.x).

  12 Aug 2009; Ulrich Mueller <ulm@gentoo.org> use.defaults:
  Add gnuplot and skey to use.defaults.

  08 Aug 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  +package.mask:
  Moved KDE-4.3.0 mask from profiles/package.mask to
  profiles/base/package.mask - fixes bug 280734.

  01 Aug 2009; Steve Dibb <beandog@gentoo.org> use.mask:
  Remove old realcodecs use flag

  01 Aug 2009; Steve Dibb <beandog@gentoo.org> make.defaults:
  Remove midi from make.defaults, as its been removed from alsa-* and
  reverse deps, bug 272659

  01 Aug 2009; Steve Dibb <beandog@gentoo.org> package.use.force:
  Remove temporary force of +midi on media-sound/alsa-lib

  01 Aug 2009; Samuli Suominen <ssuominen@gentoo.org> package.use.force:
  Force USE midi in alsa-lib for old versions since the checks in ebuilds
  are gone.

  31 Jul 2009; Jeremy Olexa <darkside@gentoo.org> package.use.mask:
  mask gnome use flag for abiword-plugins-2.4.6 as it pulls in a GLSA affected
  atom, bug 271708

  28 Jul 2009; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  remove vlc[shine] mask, offending version is gone

  21 Jul 2009; Zac Medico <zmedico@gentoo.org> profile.bashrc:
  Use declare -F instead of type -t for elog function detection.

  14 Jul 2009; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  usemask vlc-1.0.0[shine], sources haven't made it to the released
  tarballs...

  09 Jul 2009; Markus Duft <mduft@gentoo.org> use.mask:
  added i6fork use.mask, since this is only meaningful on interix-prefix ATM

  24 Jun 2009; Patrick Kursawe <phosphan@gentoo.org> make.defaults:
  Adding SANE_BACKENDS to USE_EXPAND.

  24 Jun 2009; Christian Hoffmann <hoffie@gentoo.org> package.use.mask:
  removing traces of dev-lang/php's USE=zip-external

  21 Jun 2009; Hans de Graaff <graaff@gentoo.org> virtuals:
  Remove virtual/xemacs since xemacs no longer provides it.

  19 Jun 2009; Alexey Shvetsov <alexxy@gentoo.org> use.mask:
  Mask kdeprefix since its broken by now. As voted on kde team meeting on
  18.06.2009

  17 Jun 2009; Thomas Anderson <gentoofan23@gentoo.org> package.use.mask:
  app-misc/iguanaIR is p.masked so lirc_devices_iguana needs to get masked for
  app-misc/lirc.

  12 May 2009; Peter Alfredsen <loki_val@gentoo.org> package.use.mask:
  Remove mask of openoffice mono use-flag w.r.t. bug 257313.

  03 May 2009; Peter Alfredsen <loki_val@gentoo.org> package.use.force:
  Remove use.force on nant since mono-2.4 has been unmasked.

  03 May 2009; Peter Alfredsen <loki_val@gentoo.org> package.use.force:
  Forcing bootstrap on >=dev-dotnet/nant-0.86_beta1 until
  http://bugs.gentoo.org/257313 can be resolved, since -bootstrap requires
  >=dev-lang/mono-2.4

  23 Apr 2009; Ulrich Mueller <ulm@gentoo.org> package.use:
  Remove xpm for app-editors/emacs and app-editors/emacs-cvs from
  package.use, since we are now using IUSE defaults.

  21 Apr 2009; Mounir Lamouri <volkmar@gentoo.org> package.use.mask:
  Mask jingle for kopete-3 and kdenetwork-3 because using old ortp version.
  See bug 206047.

  12 Apr 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.use.mask:
  Masked bluetooth for solid until we can unmask net-wireless/bluez.

  12 Apr 2009; Peter Alfredsen <loki_val@gentoo.org> +package.use.force:
  Forcing 'dev-libs/libpcre unicode' w.r.t. bug 265336. When unicode
  use-flag is turned off, ABI is broken without a bump.

  23 Mar 2009; Steve Dibb <beandog@gentoo.org> package.use.mask:
  Update mask for new media-video/mplayer naming scheme

  17 Mar 2009; Nirbheek Chauhan <nirbheek@gentoo.org> package.use.mask:
  package.use.mask policykit for gnome-extra/gnome-power-manager and
  gnome-base/gnome-session

  26 Feb 2009; Steve Dibb <beandog@gentoo.org> package.use.mask:
  Unmask internal real player codec support on newer mplayer

  26 Feb 2009; Steve Dibb <beandog@gentoo.org> use.mask:
  Add realcodecs to base use.mask

  26 Feb 2009; Steve Dibb <beandog@gentoo.org> package.use.mask:
  Adjust dvdnav on media-video/mplayer; old versions require external masked
  dep, newer support internal lib

  31 Jan 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.use.mask:
  Masked networkmanager for solid until we can unmask networkmanager-0.7.0.

  20 Jan 2009; Peter Alfredsen <loki_val@gentoo.org> package.use.mask:
  Pango is a Work-In-Progress for libgdiplus

  30 Dec 2008; Panagiotis Christopoulos <pchrist@gentoo.org> packages:
  put back sys-fs/e2fsprogs in system set, after fixing e2fsprogs-libs
  blockers described in bug #234907

  02 Dec 2008; Steve Dibb <beandog@gentoo.org> package.use.mask:
  Mask dvdnav use flag on mplayer

  09 Nov 2008; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Fix masking of mplayer

  27 Oct 2008; Mike Frysinger <vapier@gentoo.org> use.mask:
  Mask lilo by default since it is x86/am64 only.

  05 Oct 2008; Harald van Dĳk <truedfx@gentoo.org> package.use.mask:
  Mask tcl flag on nvi-1.81.6-r*, not only 1.81.6

  30 Sep 2008; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Unmask soap for net-libs/webkit-gtk, as the necessary version is in
  portage tree now

  20 Sep 2008; Zac Medico <zmedico@gentoo.org> make.defaults:
  Define PROFILE_ONLY_VARIABLES to include ARCH, ELIBC, KERNEL, and USERLAND.
  This is intended for use by package managers, to indicate which variables
  are set exclusively by the profile and not by user configuration files. This
  variable is currently supported in at least sys-apps/portage-2.1.4.4.

  17 Sep 2008; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  Mask media-sound/lmms:vst useflag; x86 only

  10 Sep 2008; Bernard Cafarelli <voyageur@gentoo.org> virtuals:
  Remove entry for old-style gnustep-back virtual

  31 Aug 2008; Alin Năstac <mrness@gentoo.org> package.use:
  Add udpfromto flag for net-dialup/freeradius (#235688).

  24 Aug 2008; Peter Alfredsen <loki_val@gentoo.org> package.use.mask:
  Unmask qt4 for google-gadgets, qt-4.4 is now unmasked.

  17 Aug 2008; Zac Medico <zmedico@gentoo.org> packages:
  Remove sys-fs/e2fsprogs from the system set in order to allow
  automatic blocker resolution for bug #234907. This change shouldn't
  hurt since the sys-fs/e2fsprogs package is pulled in as a dependency
  of sys-apps/util-linux, which is a member of the system set for
  relevant profiles.

  16 Aug 2008; Robert Buchholz <rbu@gentoo.org> package.use.mask:
  use-masking tls for kaa-base

  02 Aug 2008; Petteri Räty <betelgeuse@gentoo.org> make.defaults:
  Add mmap_emul introduced in 1.0.17 to ALSA_PCM_PLUGINS.

  30 Jul 2008; Markus Ullmann <jokey@gentoo.org> package.use.mask:
  Mask soap for net-libs/webkit-gtk

  20 Jul 2008; Serkan Kaba <serkan@gentoo.org> package.use.mask:
  Add app-text/enchant:zemberek mask. Java is not supported in most of the
  arches enchant is keyworded.

  18 Jul 2008; Serkan Kaba <serkan@gentoo.org> package.use.mask:
  Remove dev-java/log4j:jmx mask.

  04 Jul 2008; Thomas Anderson <gentoofan23@gentoo.org> package.use.mask:
  Mask ia32 USE flag for opera on all architectures but amd64 as we're
  the only architecture who can use it.

  25 Jun 2008; Peter Alfredsen <loki_val@gentoo.org> package.use.mask:
  Adjusted mask of gnash:ffmpeg use.mask and added mask of php flag for
  >=ming-0.4.0_beta5 due to autotools fail.

  21 Jun 2008; Serkan Kaba <serkan@gentoo.org> package.use.mask:
  Move dev-java/log4j jmx to top of the package.use.mask file.

  21 Jun 2008; Serkan Kaba <serkan@gentoo.org> package.use.mask:
  Add dev-java/log4j jmx because dev-java/sun-jms is masked.

  06 Jun 2008; Peter Alfredsen <loki_val@gentoo.org> package.use.mask:
  Added x11-misc/google-gadgets qt4 to package.use.mask. qt-4.4 required is
  package.masked.

  06 Jun 2008; Rémi Cardona <remi@gentoo.org> package.mask:
  pkgmove to gnome-base/gnome-control-center

  30 Apr 2008; Sébastien Fabbro <bicatali@gentoo.org> use.mask:
  Removed masking of icc and ifc flags (now only local flags). Removed
  inexistent icc-pgo flags

  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.

  21 Mar 2008; Markus Ullmann <jokey@gentoo.org> package.use.mask:
  use mask qt4 on net-irc/kvirc-3.4.0

  21 Mar 2008; Christian Faulhammer <opfer@gentoo.org> virtuals:
  there is a new-style virtual now for pager

  11 Mar 2008; Christian Faulhammer <opfer@gentoo.org> package.use.mask:
  extend libpaludis mask for app-portage/gatt

  03 Mar 2008; Christian Faulhammer <opfer@gentoo.org> package.use.mask:
  remove useless entry for conky

  02 Mar 2008; Christian Faulhammer <opfer@gentoo.org> package.use.mask:
  USE=libpaludis is very experimental

  14 Feb 2008; Raúl Porcel <armin76@gentoo.org> virtuals:
  Remove useless virtual/bittorrent

  29 Jan 2008; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Move bluetooth package.use.mask for app-pda/pilot-link from the amd64
  profile, since it affects all the arches

  25 Jan 2008; Christian Faulhammer <opfer@gentoo.org> package.use.mask:
  mask bluetooth for a stable pulseaudio version, so stable users are not
  bothered

  10 Jan 2008; Sébastien Fabbro <bicatali@gentoo.org> use.mask:
  Removed cern from use.mask (has been mark stable sparc,x86 and amd64)

  27 Dec 2007; Christian Hoffmann <hoffie@gentoo.org> package.use.mask:
  mask USE="java" for dev-lang/php (as the required dependency will be masked)

  23 Dec 2007; Mark Loeser <halcy0n@gentoo.org> use.mask:
  Remove duplicated fdftk flag; bug #168772

  13 Dec 2007; Duncan Coutts <dcoutts@gentoo.org> virtuals:
  Remove old-style virtual/ghc as it is no longer used.

  28 Nov 2007; Benedikt Böhm <hollow@gentoo.org> make.defaults:
  Add APACHE2_MODULES and APACHE2_MPMS to USE_EXPAND

  21 Nov 2007; Sébastien Fabbro <bicatali@gentoo.org> virtuals:
  Removed virtual/lapack, now new style

  05 Nov 2007; Duncan Coutts <dcoutts@gentoo.org> virtuals:
  Switch to ghc rather than ghc-bin for virtual as we're p.masking ghc-bin

  10 Oct 2007; Christian Faulhammer <opfer@gentoo.org> virtuals:
  remove virtual/editor, we have a new-style virtual now

  09 Oct 2007; Sébastien Fabbro <bicatali@gentoo.org> virtuals:
  removed virtual/blas (now new style), virtual/cblas (which never existed and
  now is new style) and replaced default lapack for lapack-reference

  08 Oct 2007; Andrej Kacian <ticho@gentoo.org> use.mask:
  Mask ssse3 use flag globally - it is unmasked for x86 already, as it should
  be. Bug #195086.

  09 Sep 2007; Donnie Berkholz <dberkholz@gentoo.org>; use.mask:
  Mask amd, vermilion, and xgi VIDEO_CARDS till they get keyworded.

  29 Aug 2007; Robert Buchholz <rbu@gentoo.org> package.use.mask:
  Masking pptp plugin for knetworkmanager

  24 Aug 2007; Sébastien Fabbro <bicatali@gentoo.org> use.mask:
  Mask cern in use.mask

  22 Jul 2007; Donnie Berkholz <dberkholz@gentoo.org>; use.defaults:
  virtual/x11 is gone.

  08 Jul 2007; Joshua Kinard <kumba@gentoo.org> use.mask:
  Remove ip28/ip32r10k USE masks; they're actually used by mips-sources when
  being built on a cross-host for that target.

  01 Jun 2007; Ulrich Mueller <ulm@gentoo.org> package.use:
  Add app-editors/emacs xpm to package.use.

  23 May 2007; Ulrich Mueller <ulm@gentoo.org> +package.use:
  package.use xpm for app-editors/emacs-cvs.

  21 May 2007; Christian Heim <phreak@gentoo.org> use.mask:
  We don't need ip28 and ip32r10k enabled anywhere, so mask it in base/ and
  unmask it in default-linux/mips.

  27 Apr 2007; Petteri Räty <betelgeuse@gentoo.org> package.use.mask:
  package.use.mask nsplugin for blackdown-jdk and blackdown-jre for security
  bug #161835.

  30 Mar 2007; Alec Warner <antarus@gentoo.org> make.defaults:
  Remove autoconfig from FEATURES, it died a long time ago

  12 Mar 2007; Joseph Jezak <josejx@gentoo.org> use.mask:
  Add macbook USE flag to use.mask.

  05 Mar 2007; Stephen Bennett <spb@gentoo.org> make.defaults:
  Add /etc/env.d to CONFIG_PROTECT_MASK

  15 Feb 2007; Chris Gianelloni <wolf31o2@gentoo.org> use.defaults:
  Removed udev remnants using a patch from Arfrever Frehtes Taifersar Arahesis
  <FFTA@WP.PL> and closing bug #166917.

  29 Jan 2007; Diego Pettenò <flameeyes@gentoo.org> make.defaults:
  Add midi useflag by default to cope with newer alsa versions.

  27 Jan 2007; Alon Bar-Lev <alonbl@gentoo.org> make.defaults:
  Added CAMERAS USE_EXPAND bug#139884

  22 Jan 2007; Christian Faulhammer <opfer@gentoo.org> use.mask:
  masked bmpx USE flag in order to stable conky

  18 Jan 2007; Robert Buchholz <rbu@gentoo.org> use.mask:
  Masked lcd_devices_svga as it only works on x86

  17 Jan 2007; Robert Buchholz <rbu@gentoo.org> make.defaults:
  Added LCD_DEVICES to USE_EXPAND and provided some defaults

