# ChangeLog for Gentoo base-profile
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/base/ChangeLog,v 1.632 2014/01/19 19:12:11 swift Exp $

  19 Jan 2014; Sven Vermeulen <swift@gentoo.org> package.mask:
  Adding cachefilesd policy to the tree

  18 Jan 2014; Mike Frysinger <vapier@gentoo.org> make.defaults:
  Update PYTHON_TARGETS from 3.2 to 3.3 now that it is stable #474128.

  16 Jan 2014; Ultrabug <ultrabug@gentoo.org> make.defaults:
  add new USWGI_PLUGINS USE_EXPAND

  14 Jan 2014; Ruud Koolen <redlizard@gentoo.org> use.mask:
  Add prefix-guest use mask for new prefix profiles.

  13 Jan 2014; Lars Wendler <polynomial-c@gentoo.org> package.use.mask:
  Removed use.mask entry for seamonkey's crypt USE flag.

  05 Jan 2014; Lars Wendler <polynomial-c@gentoo.org> package.use.mask:
  Adjusted polarssl use.mask for media-sound/umurmur.

  04 Jan 2014; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Mask dev-vcs/git[mediawiki] until dependencies are keyworded

  01 Jan 2014; Patrick Lauer <patrick@gentoo.org> use.mask:
  Masking ruby_targets_ruby18 as there's now cascading breakage of deps and
  deps-of-deps and it's going to be removed anyway

  30 Dec 2013; Alexis Ballier <aballier@gentoo.org> package.use.mask:
  unmask pulseaudio and openal on multilib ffmpeg

  29 Dec 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Add mask for selinux-mandb

  27 Dec 2013; Sergey Popov <pinkbyte@gentoo.org> package.use.mask:
  Mask 'context' USE-flag for dev-libs/boost

  26 Dec 2013; Gilles Dartiguelongue <eva@gentoo.org> package.use.mask:
  Add missing version to libpeas python mask.

  24 Dec 2013; Gilles Dartiguelongue <eva@gentoo.org> package.use.mask:
  Add relevant USE mask for libpeas.

  23 Dec 2013; Gilles Dartiguelongue <eva@gentoo.org> package.use.mask:
  Add gstreamer use mask for new cogl release.

  20 Dec 2013; Rick Farina <zerochaos@gentoo.org> package.use.mask:
  Masking test and development for metasploit until gentoo has rake 10

  18 Dec 2013; Johannes Huber <johu@gentoo.org> package.use.mask:
  Mask >=kde-base/kopete-4.12.0[otr] because of package mask on 
  >=net-libs/libotr-0.4.0.

  16 Dec 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Mask selinux-rngd (new SELinux policy package)

  15 Dec 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Simplify wine ebuilds: apply winepulse patchset only when USE=pulseaudio (bug
  #489004), and allow -9999 users to enable it if they really want.

  13 Dec 2013; Lars Wendler <polynomial-c@gentoo.org> package.use.mask:
  Mask crypt USE flag for >=seamonkey-2.23 until enigmail provides a build
  system fix. package.use.mask

  12 Dec 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  LibreOffice kde support has been fixed, hooray

  06 Dec 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.use.mask:
  Mask kde integration of libreoffice

  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

