# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Contains local system settings for Portage system

# Please review 'man make.conf' for more information.

# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# https://wiki.gentoo.org/wiki/Handbook:X86/Working/USE
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-portage/ufed'
#
# Example:
#USE="X gtk gnome -alsa"

# Host Setting
# ============
#
# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
# It's very important you select the right CHOST from the start.  A wrong
# CHOST could easily lead to weird errors either in compiling or running.
#
# Netwinder (or any StrongArm110): armv4l-unknown-linux-gnu
# nslu2: armvbe-unknown-linux-gnu
# Generic ARM: arm-unknown-linux-gnu
#
CHOST="armv4l-unknown-linux-gnu"

# Host and optimization settings 
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# If your gcc supports it, you can add -frecord-gcc-switches to all of the
# following *FLAGS in order to enable *FLAGS ignorance checking for ebuilds:
# CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS.
# Note that this check is only enabled if every one of these variables contains
# -frecord-gcc-switches, since otherwise the check could result in false
# positive results.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=xscale code will not run on a StrongARM 11x0, and
# -march=strongarm110 code will not run on a regular StrongARM).
#
# For a full listing of supported CPU models, please refer to the GCC website:
# http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/ARM-Options.html
#
# Netwinder:
#CFLAGS="-mcpu=strongarm110 -O2 -pipe"
# NSLU2:
#CFLAGS="-mcpu=armeb -O2 -pipe"

# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
#CXXFLAGS="${CFLAGS}"
#
# If you set a CFLAGS above, then this line will set your default FORTRAN 77
# flags to the same settings.
#FFLAGS="${CFLAGS}"
#
# If you set a FFLAGS above, then this line will set your default FORTRAN
# flags to the same settings for modern build systems
#FCFLAGS="${FFLAGS}"


# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
#
# Please note that this is not for development, alpha, beta, nor cvs release
# packages. "Broken" packages will not be added to testing and should not be
# requested to be added. Alternative routes are available to developers
# for experimental packages, and it is at their discretion to use them.
#
# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
#ACCEPT_KEYWORDS="~arch"

# ACCEPT_LICENSE is used to mask packages based on licensing restrictions.
# It may contain both license and group names, where group names are
# prefixed with the '@' symbol. License groups are defined in the
# license_groups file (see portage(5) man page). In addition to license
# and group names, the * and -* wildcard tokens are also supported.
#
# Accept any license except those in the EULA license group (default).
#ACCEPT_LICENSE="* -@EULA"
#
# Only accept licenses in the FREE license group (i.e. Free Software).
#ACCEPT_LICENSE="-* @FREE"

# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
#     temporary storage of data. This can get VERY large depending upon
#     the application being installed.
#PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
#     for all profile information as well as all ebuilds. If you change
#     this, you must update your /etc/portage/make.profile symlink accordingly.
#     ***Warning***
#     Data stored inside PORTDIR is in peril of being overwritten or deleted by
#     the emerge --sync command. The default value of PORTAGE_RSYNC_OPTS
#     will protect the default locations of DISTDIR and PKGDIR, but users are
#     warned that any other locations inside PORTDIR are not necessarily safe
#     for data storage.
#PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
#     emerges. After packages are built, it is safe to remove any and
#     all files from this directory since they will be automatically
#     fetched on demand for a given build. If you would like to
#     selectively prune obsolete files from this directory, see
#     eclean from the gentoolkit package. Note that locations under
#     /usr/portage are not necessarily safe for data storage. See the
#     PORTDIR documentation for more information.
#DISTDIR=/usr/portage/distfiles
#
# PKGDIR is the location of binary packages that you can have created
#     with '--buildpkg' or '-b' while emerging a package. This can get
#     up to several hundred megs, or even a few gigs. Note that
#     locations under /usr/portage are not necessarily safe for data
#     storage. See the PORTDIR documentation for more information.
#PKGDIR=/usr/portage/packages
#
# PORT_LOGDIR is the location where portage will store all the logs it
#     creates from each individual merge. They are stored as
#     ${CATEGORY}:${PF}:YYYYMMDD-HHMMSS.log in the directory specified.
#     If the directory does not exist, it will be created automatically and
#     group permissions will be applied to it.  If the directory already
#     exists, portage will not modify it's permissions.
#PORT_LOGDIR=""
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
#     concern that they will be deleted by rsync updates. Default is not
#     defined.
#PORTDIR_OVERLAY=/usr/local/portage

# Fetching files 
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available. The command should be written to place the fetched file
# at \${DISTDIR}/\${FILE}.
#
# Default fetch command (3 tries, passive ftp for firewall compatibility)
#FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#
# Using wget, ratelimiting downloads
#FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp --limit-rate=200k -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp --limit-rate=200k -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#
# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
# The list is a space separated list which is read left to right. If you use
# another mirror we highly recommend leaving the default mirror at the end of
# the list so that portage will fall back to it if the files cannot be found
# on your specified mirror. We _HIGHLY_ recommend that you change this setting
# to a nearby mirror by merging and using the 'mirrorselect' tool.
#GENTOO_MIRRORS="<your_mirror_here> http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
#
# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
# The list is a single entry specifying the full address of the directory
# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
# packages in the directory specified, and use that data to determine what will
# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
# consult the man pages and 'emerge --help' for more information. For FTP, the
# default connection is passive -- If you require an active connection, affix
# an asterisk (*) to the end of the host:port string before the path.
#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
# This ftp connection is passive ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
# This ftp connection is active ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"

# Synchronizing Portage
# =====================
#
# Each of these settings affects how Gentoo synchronizes your Portage tree.
# Synchronization is handled by rsync and these settings allow some control
# over how it is done.
#
# SYNC is the server used by rsync to retrieve a localized rsync mirror
#     rotation. This allows you to select servers that are geographically
#     close to you, yet still distribute the load over a number of servers.
#     Please do not single out specific rsync mirrors. Doing so places undue
#     stress on particular mirrors.  Instead you may use one of the following
#     continent specific rotations:
#
#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
#
#     If you have multiple Gentoo boxes, it is probably a good idea to have only
#     one of them sync from the rotations above. The other boxes can then rsync
#     from the local rsync server, reducing the load on the mirrors.
#     Instructions for setting up a local rsync server are available here:
#     http://www.gentoo.org/doc/en/rsync.xml
#
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
#     a current portage tree before it exits with an error. This allows
#     for a more successful retrieval without user intervention most times.
#     If set to a negative number, then retry until all possible addresses are
#     exhausted.
#PORTAGE_RSYNC_RETRIES="-1"
#
# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
#     command used by `emerge --sync`. This will not change the default options
#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
#     exactly what you're doing).
#PORTAGE_RSYNC_EXTRA_OPTS=""
#
# Advanced Features
# =================
#
# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
#     specified on every run. Useful options include --ask, --verbose,
#     --usepkg and many others. Options that are not useful, such as --help,
#     are not filtered.
#EMERGE_DEFAULT_OPTS=""
#
# INSTALL_MASK allows certain files to not be installed into your file system.
#     This is useful when you wish to filter out a certain set of files from
#     ever being installed, such as INSTALL.gz or TODO.gz
#INSTALL_MASK=""
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
#     program is compiled. Presently the only use is for specifying
#     the number of parallel makes (-j) to perform. The suggested number
#     for parallel makes is CPUs+1.
#MAKEOPTS="-j2"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
#     Note: This is an increment. Running emerge in a niced environment will
#     reduce it further. Default is unset.
#PORTAGE_NICENESS=3
#
# PORTAGE_IONICE_COMMAND provides a command for portage to call in order to
#     adjust the io priority of portage and it's subprocesses. Default is
#     unset.
#PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
#     packages from the system after every successful merge. This is the
#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#     This does not affect the unpacked source. See 'noclean' below.
#
#     Warning: AUTOCLEAN="no" can cause serious problems due to overlapping
#              packages.  Do not use it unless absolutely necessary!
#AUTOCLEAN="yes"
#
# FEATURES defines actions portage takes by default. This is an incremental
# variable. See the make.conf(5) man page for a complete list of supported
# values and their respective meanings.
#FEATURES="ccache distcc installsources \
# splitdebug test userpriv usersandbox"

# CCACHE_SIZE and CCACHE_DIR are used to control the behavior of ccache, and
#     and are only used if "ccache" is in FEATURES.
#
# CCACHE_SIZE sets the space limitations for ccache. The default size depends
#     on ccache itself; see the -M flag in the ccache(1) man page for details.
#
#CCACHE_SIZE="5GiB"
#
# CCACHE_DIR sets the ccache path.  If not specified, portage will default
#     to "${PORTAGE_TMPDIR}/ccache".
#
#     Note that to display ccache statistics outside of portage, you must
#     remember to give the correct path to the cache.
#
#        $ CCACHE_DIR=/var/tmp/ccache ccache -s 
#
#CCACHE_DIR="${PORTAGE_TMPDIR}/ccache"

# DISTCC_DIR sets the temporary space used by distcc.
#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"

# logging related variables:
# PORTAGE_ELOG_CLASSES: selects messages to be logged, possible values are:
#                          info, warn, error, log, qa, *
#PORTAGE_ELOG_CLASSES="log warn error"

# PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules
#                      included in portage are (empty means logging is disabled):
#                          echo (display messages again when emerge exits)
#                          save (saves one log per package in $PORT_LOGDIR/elog, 
#                                /var/log/portage/elog if $PORT_LOGDIR is unset)
#                          custom (passes all messages to $PORTAGE_ELOG_COMMAND)
#                          syslog (sends all messages to syslog)
#                          mail (send all messages to the mailserver defined 
#                                in $PORTAGE_ELOG_MAILURI)
#                          save_summary (like "save" but merges all messages
#                                        in $PORT_LOGDIR/elog/summary.log,
#                                        /var/log/portage/elog/summary.log if
#                                        $PORT_LOGDIR is unset)
#                          mail_summary (like "mail" but sends all messages in
#                                        a single mail when emerge exits)
#                      To use elog you should enable at least one module
#                      The module name may be followed by a colon and a comma
#                      separated list of loglevels to override PORTAGE_ELOG_CLASSES
#                      for this module (e.g.
#                        PORTAGE_ELOG_SYSTEM="mail:warn,error syslog:* save")
#PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo"

# PORTAGE_ELOG_COMMAND: only used with the "custom" logging module. Specifies a command
#                      to process log messages. Two variables are expanded:
#                          ${PACKAGE} - expands to the cpv entry of the processed 
#                                       package (see $PVR in ebuild(5))
#                          ${LOGFILE} - absolute path to the logfile
#						Both variables have to be quoted with single quotes
#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}'"

# PORTAGE_ELOG_MAILURI: this variable holds all important settings for the mail
#                       module. In most cases listing the recipient address and
#                       the receiving mailserver should be sufficient, but you can
#                       also use advanced settings like authentication or TLS. The
#                       full syntax is:
#                           address [[user:passwd@]mailserver[:port]]
#                       where
#                           address:    recipient address
#                           user:       username for smtp auth (defaults to none)
#                           passwd:     password for smtp auth (defaults to none)
#                           mailserver: smtp server that should be used to deliver the mail (defaults to localhost)
#                                       alternatively this can also be a the path to a sendmail binary if you don't want to use smtp
#                           port:       port to use on the given smtp server (defaults to 25, values > 100000 indicate that starttls should be used on (port-100000))
#                       Examples:
#PORTAGE_ELOG_MAILURI="root@localhost localhost" (this is also the default setting)
#PORTAGE_ELOG_MAILURI="user@some.domain mail.some.domain" (sends mails to user@some.domain using the mailserver mail.some.domain)
#PORTAGE_ELOG_MAILURI="user@some.domain user:secret@mail.some.domain:100465" (this is left uncommented as a reader exercise ;)

# PORTAGE_ELOG_MAILFROM: you can set the from-address of logmails with this variable,
#                        if unset mails are sent by "portage" (this default may fail
#                        in some environments).
#PORTAGE_ELOG_MAILFROM="portage@some.domain"

# PORTAGE_ELOG_MAILSUBJECT: template string to be used as subject for logmails. The following
#                           variables are expanded:
#                               ${ACTION} - merged, unmerged, or unknown
#                               ${PACKAGE} - see description of PORTAGE_ELOG_COMMAND
#                               ${HOST} - FQDN of the host portage is running on
#PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for \${PACKAGE} on \${HOST}"
