# ChangeLog for Gentoo/ia64 profile
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/ia64/ChangeLog,v 1.197 2013/11/10 15:38:33 chithanh Exp $

  10 Nov 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> use.mask:
  Mask llvm flag until sys-devel/llvm is keyworded, bug #320221.

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

  28 Sep 2013; Mike Frysinger <vapier@gentoo.org> use.mask:
  Mask USE=valgrind since the pkg is not keyworded.

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

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

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

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

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

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

  9 May 2013; Tom Wijsman <TomWij@gentoo.org> package.use.mask:
  Unmasking dev-java/antlr[java] as per bug #412223, acked by sera.

  26 Mar 2013; Sergei Trofimovich <slyfox@gentoo.org> package.use.mask:
  masked dev-lang/ghc[llvm]

  12 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE="cg" since it is a toolkit for nvidia binary drivers.

  21 Feb 2013; Robin H. Johnson <robbat2@gentoo.org> package.use.mask:
  systemtap & jemalloc available on ~ia64.

  09 Feb 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Mask media-video/libav[hardcoded-tables] bug #453328

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

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

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

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

  07 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask,
  use.mask:
  Remove obsolete mask entries. Since media-libs/libquvi is now ~ia64, mask
  USE=quvi only for stable ebuild depending on it.

  05 Jan 2013; Agostino Sarubbo <ago@gentoo.org> use.mask:
  mask template_haskell IUSE as per slyfox suggest

  05 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  colord is now stable on ia64.

  04 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask USE=colord for stable versions of gtk+ since x11-misc/colord is not
  stable on ia64 (bug #449744).

  02 Jan 2013; Matt Turner <mattst88@gentoo.org> use.mask:
  use.mask video_cards, see bugs 449816, 448606.

  01 Jan 2013; Agostino Sarubbo <ago@gentoo.org> package.use.mask, use.mask:
  Add -zeitgeist. Remove eds/telepathy from folks and sendto from nautilus

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

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask tracker[thunderbird] since thunderbird is not keyworded.

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> use.mask:
  Mask USE=xine since xine-lib is not keyworded here.

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask,
  use.mask:
  Mask USE=connman globally for simplicity.

  31 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask totem[flash]: like totem[youtube], it needs quvi.

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

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

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask >=zenity-3.6[test] until yelp-tools is keyworded.

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask >=libgda-5.1[gnome-keyring,reports] until app-crypt/libsecret and
  dev-java/fop are keywored.

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

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask >=gvfs-1.14[gnome-keyring] until app-crypt/libsecret is keyworded.

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

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Re-add 'net-libs/webkit-gtk webkit2' to fix repoman failure. Please remove
  only when app-accessibility/at-spi2-core is stable for ia64.

  19 Dec 2012; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  mask x11-libs/qt-bearer connman because requires to much depend still not
  keyworded

  18 Dec 2012; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  Remove net-libs/webkit-gtk webkit2

  18 Dec 2012; Agostino Sarubbo <ago@gentoo.org> package.use.mask:
  masking vlc and gstreamer for phonon

  15 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask totem[upnp-av] after upnp -> upnp-av rename since media-video/coherence
  not keyworded (bug #435776).

  01 Dec 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask fdk, bug #442806

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

  02 Nov 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Unmask p.use.mask net-libs/webkig-gtk geoloc since its stable

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

  21 Oct 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Remove sys-apps/portage python3 p.use.mask now that python3 is stable

  16 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask libproxy[spidermonkey] since spidermonkey is not keyworded on ia64

  11 Sep 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Fix p.use.mask line, thanks to mr_bones_

  11 Sep 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Use.mask >=dev-lang/ocaml-4 ocamlopt, bug #430352

  26 Aug 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Update python3+portage mask

  26 Aug 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask metalink

  19 Aug 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add clang to use.mask, needs testing

  16 Aug 2012; Matt Turner <mattst88@gentoo.org> use.mask:
  use.mask video_cards_siliconmotion.

  05 Aug 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask gts, devil, bug #419621

  06 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Remove unnecessary x11-plugins/enigmail entry.

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

  27 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.use.mask:
  Mask USE=python for x11-libs/qscintilla.

  25 Jun 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Unmask qt-related stuff

  17 Jun 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask bluray

  14 Jun 2012; Ben de Groot <yngwin@gentoo.org> package.use.mask:
  Since there is no longer a stable qt available for ia64, we need to mask the
  qt4 useflag for stable versions of avahi

  28 May 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Use.package.mask x11-misc/xscreensaver new-login, bug #412847

  26 May 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask webm

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

  15 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.use.mask:
  Mask USE="udisks" for gnome-base/gvfs wrt #412801

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

  11 May 2012; Mike Frysinger <vapier@gentoo.org> package.use.mask:
  Mask out USE=java for non-java packages #412223 by Mr. Bones.

  06 May 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add systemd to use.mask, needs testing

  06 May 2012; Raúl Porcel <armin76@gentoo.org> package.use.force:
  Remove nptlonly outdated package.use.force

  21 Apr 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask java, bug #412223

  15 Apr 2012; Mike Frysinger <vapier@gentoo.org> use.mask:
  Unmask java USE flag #349020 by Dennis Schridde.

  15 Apr 2012; Mike Frysinger <vapier@gentoo.org> package.use.mask:
  Mask dev-java/icedtea[systemtap].

  12 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  Mask glib-networking[smartcard], it requires gnutls[pkcs11], which is
  use.masked on sparc.

  08 Apr 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask aacplus

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

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

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

  04 Jan 2012; Ralph Sennhauser <sera@gentoo.org> package.use.mask:
  Remove package.use.mask for ruby_targets_jruby as it's already masked in base
  profile.

  04 Jan 2012; Ralph Sennhauser <sera@gentoo.org> package.use.mask:
  Package.use.mask dev-ruby/hpricot ruby_targets_jruby as it has direct
  dependency on missing JVM #345433

  01 Jan 2012; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Use.mask ladspa and remove it from p.use.mask

  31 Dec 2011; Ralph Sennhauser <sera@gentoo.org> package.use.mask:
  Use mask net-analyzer/wireshark doc-pdf due to missing JVM #345433

  26 Dec 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Package.use.mask www-client/firefox crashreporter as it fails to build

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

  05 Nov 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Package.use.mask dev-libs/libpcre jit since it isn't supported on this arch

  03 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> package.use.mask:
  p.use.masking gnome-extra/gnome-media[aac,mp3,twolame] due to missing
  keywords in gst-plugins-{faac,lame,twolame}, bug #389433.

  01 Nov 2011; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Remove obsolete entry for USE="v4l2"

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

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

  03 Jul 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  P.use.mask =sys-apps/portage-2.1.10* python3

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

  29 May 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask prelude

  23 Apr 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add video_cards_nouveau to use.mask

  23 Apr 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Cleanup package.use.mask

  04 Apr 2011; Tomáš Chvátal <scarabeus@gentoo.org> package.use.mask:
  Mask umfpack useflag on gegl for now. Bug #361947.

  02 Apr 2011; Ulrich Mueller <ulm@gentoo.org> -virtuals:
  Remove old-style virtual/bootloader, bug 359971.

  02 Apr 2011; Pacho Ramos <pacho@gentoo.org> package.use.mask:
  Mask media-video/totem youtube USE flag as quvi support is needed to play
  youtube files now.

  05 Mar 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask upnp

  27 Feb 2011; Raúl Porcel <armin76@gentoo.org> -package.mask:
  Punt package.mask

  27 Feb 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask pdfannotextractor

  30 Jan 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask quvi

  27 Jan 2011; Pacho Ramos <pacho@gentoo.org> package.use.mask:
  Mask more gst-plugins-meta USE flags.

  06 Jan 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask libev

  17 Dec 2010; Diego E. Pettenò <flameeyes@gentoo.org> package.use.mask:
  Mask caps USE flag for smartmontools until libcap-ng is keyworded.

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

  05 Dec 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  P.use.mask www-client/elinks javascript

  05 Dec 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Package.use.mask net-analyzer/wireshark doc-pdf as it needs java

  27 Nov 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Add portage python3 use-flag to p.use.mask

  21 Nov 2010; Ryan Hill <dirtyepic@gentoo.org> use.mask:
  Mask lpsol USE flag, needs sci-mathematics/glpk.

  14 Nov 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  unmask test USE flag of dev-util/buildbot*.

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

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

  10 Oct 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask frei0r

  19 Sep 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  P.use.mask dev-ruby/nokogiri ffi

  15 Aug 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Cleanup

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

  24 Jul 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Use.mask kde

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

  27 Jun 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask vaapi, rtmp, vpx

  26 Jun 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Use.mask custom-optimization

  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> package.use.mask:
  Mask net-im/empathy nautilus use until bug 323851 is fixed.

  29 May 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask eclipse

  16 May 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask ots

  15 May 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask schroedinger

  09 May 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask ipod

  28 Mar 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Package.use.mask dev-util/subversion kde

  03 Mar 2010; Jonathan Callen <abcd@gentoo.org> package.mask:
  Mask all of KDE SC 4.4.x, not just 4.4.0

  13 Feb 2010; Raúl Porcel <armin76@gentoo.org> package.mask:
  Unmask texlive-2009

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

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

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

  07 Feb 2010; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  package.use.mask lame, taglib

  07 Feb 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask dvd

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

  17 Dec 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask capi/celt/lensfun

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

  02 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Mask USE musepack because media-sound/musepack-tools isn't keyworded.

  30 Nov 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask tokyocabinet

  18 Nov 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  add bs2b to use.mask

  05 Nov 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add sctp to use.mask

  04 Nov 2009; Patrick Lauer <patrick@gentoo.org> package.use.mask:
  package.use.mask kioslaves samba useflag

  27 Oct 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask lqr

  24 Sep 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask nut and opencore-amr

  15 Sep 2009; Raúl Porcel <armin76@gentoo.org> -package.mask:
  Unmask kde-4.3

  12 Sep 2009; Raúl Porcel <armin76@gentoo.org> package.mask:
  Remove keyworded packages from package.mask

  12 Sep 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask pm-utils, indi, flite, wicd

  06 Sep 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.mask:
  Removed akonadi-server package.mask entry now that version 1.1.2 was
  restored and the keywords for the newer versions dropped (bug 280312).

  06 Sep 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  package.mask:
  Added kde-base/akonadi to the list of masked packages as soprano is not
  keyworded for this arch.

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

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

  23 Jul 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Add x11-wm/fvwm lock to p.use.mask

  07 Jun 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask prolog

  22 May 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add topal to use.mask wrt #267299

  17 May 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask libburn

  12 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add ktts to use.mask

  11 Apr 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Mask editor and solver for kde-base/kalzium to keep deps minimal

  11 Apr 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Unmask webkit on determinated packages

  11 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add semantic-desktop, tunepimp, captury, bittorrent-external, gps,
  fits to use.mask

  06 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add lasi to use.mask

  04 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add mpi to use.mask

  20 Mar 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Remask webkit on qt packages since qt-webkit is not stable

  20 Mar 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Mask webkit globally, unmask for qt

  06 Feb 2009; Raúl Porcel <armin76@gentoo.org> +package.mask:
  Mask old versions of qt related packages, bug #248038

  07 Jan 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add v4l and v4l2 to use.mask, no hardware to test

  03 Jan 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add antlr to use.mask

  16 Dec 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add oracle to use.mask

  23 Nov 2008; Patrick Lauer <patrick@gentoo.org> package.use.mask:
  webkit is missing keywords, masking webkit useflag for PyQt4

  10 Nov 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask dxr3, no hardware to test

  03 Oct 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Mask some video cards which we can't test

  31 Aug 2008; Raúl Porcel <armin76@gentoo.org> virtuals:
  Make gentoo-sources the default for ia64

  10 Aug 2008; Raúl Porcel <armin76@gentoo.org> package.mask:
  Unmask gnome-2.22

  10 Aug 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Unmask hddtemp USE-flag

  28 Jul 2008; Jean-Noël Rivasseau <elvanor@gentoo.org> package.use.mask:
  Removed test for icu4j as it requires jdk-1.6

  07 Jul 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Reuse.mask hddtemp as its not stable yet, to remove in 30 days

  07 Jul 2008; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Unmask hddtemp USE-flag, make dev-lisp/clisp deps minimal

  11 Jun 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask scanner, no hardware to test

  17 May 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask gphoto2, no hardware to test

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

  10 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>; make.defaults:
  Via hardware isn't available on ia64 as far as I know.

  09 Apr 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask laptop, not available on ia64

  08 Apr 2008; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask pkcs11 wrt #215981

  03 Apr 2008; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Move dvb and mythtv to global use.mask

  02 Apr 2008; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Mask dvb on gst-plugins-meta as well

  02 Apr 2008; Mart Raudsepp <leio@gentoo.org> package.use.mask:
  Mask USE=mythtv on gst-plugins-meta as media-tv/mythtv not keyworded

