# ChangeLog for Gentoo/sh profile directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/sh/ChangeLog,v 1.91 2013/09/29 14:36:30 dilfridge Exp $

  29 Sep 2013; Andreas K. Huettel <dilfridge@gentoo.org> make.defaults:
  sh goes unstable/testing as per council decision

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

  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.

  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.

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

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

  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

  29 Sep 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask lucene, bug #404267

  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 rtmp,metalink

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

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

  29 Jul 2012; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask soundcloud, bug #424509

  04 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> use.mask:
  Remove obsolete entry for USE="xulrunner" wrt #424617

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

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

  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.

  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

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

  07 Aug 2011; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask webp

  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 these arches

  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

  20 Mar 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Unmask iptables netlink

  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

  13 Feb 2011; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  p.use.mask media-libs/mesa gallium as it fails to build

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

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

  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.

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

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

  15 Aug 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask iphone, some cleanup

  09 Aug 2010; Kacper Kowalik <xarthisius@gentoo.org> use.mask:
  Mask cblas-external

  06 Jun 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask tokyocabinet

  17 Apr 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask fits

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

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

  30 Jan 2010; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask v4l/v4l2

  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 lensfun

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

  11 Dec 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask musepack, authdaemond

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

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

  22 Oct 2009; Raúl Porcel <armin76@gentoo.org> -virtuals:
  Remove virtuals file

  01 Jul 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask seamonkey

  30 Jun 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Package.use.mask media-plugins/gst-plugins-meta lame taglib

  30 Jun 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask fluidsynth, libmms, sid 

  12 Jun 2009; Ulrich Mueller <ulm@gentoo.org> use.mask:
  Remove paludis from use.mask since the flag is gone.

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

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

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

  17 May 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add webkit/xulrunner to use.mask

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

  23 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Unmask libssh2

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

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

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

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

  05 Apr 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask gnomecd

  13 Mar 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Masking a lot of video_cards which i doubt are available on SH

  12 Mar 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add video_cards_radeonhd and video_cards_ast to use.mask

  11 Mar 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add lyx to use.mask

  10 Mar 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Add xindy to use.mask

  20 Feb 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask scanner, no hardware to test

  06 Feb 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Use.mask xemacs, not keyworded

  19 Jan 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Some reordering, and use.mask tracker, fuse, gphoto2 and laptop

  16 Jan 2009; Raúl Porcel <armin76@gentoo.org> use.mask:
  Use.mask chicken, clisp, R, octave

  15 Jan 2009; Raúl Porcel <armin76@gentoo.org> package.use.mask, use.mask:
  Move dvb and mythtv p.use.mask to use.mask

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

  10 Nov 2008; Raúl Porcel <armin76@gentoo.org> package.use.mask:
  Move stuff from default/linux/sh

  13 May 2008; Christoph Mende <angelos@gentoo.org> package.use.mask:
  Mask wavpack USE flag for mpd

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

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

  02 Apr 2008; Mart Raudsepp <leio@gentoo.org> use.mask:
  Mask networkmanager USE flag - no version of it keyworded

