Is this a bug or is there something wrong on my side ?

* Messages for package dev-texlive/texlive-basic-2017-r1:

 * ERROR: dev-texlive/texlive-basic-2017-r1::gentoo failed (compile phase):
 *   failed to build format texmf-dist/fmtutil/format.texlive-basic.cnf
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_compile
 *   environment, line 1938:  Called texlive-module_src_compile
 *   environment, line 2756:  Called die
 * The specific snippet of code:
 *               VARTEXFONTS="${T}/fonts" 
TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var" env -u TEXINPUTS fmtutil 
--cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all || die "failed to build 
format ${i}";
 * 
 * If you need support, post the output of `emerge --info 
'=dev-texlive/texlive-basic-2017-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv 
'=dev-texlive/texlive-basic-2017-r1::gentoo'`.
 * The complete build log is located at 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/temp/build.log'.
 * The ebuild environment file is located at 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/temp/environment'.
 * Working directory: 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work'

(I have PORTAGE_TMPDIR=/Net/portage)

Regards,
/Karl Hammar

-----------------------------------------------------------------------
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57
[ebuild  N    ] dev-texlive/texlive-basic-2017-r1  USE="-doc -luajittex 
-source" 
Portage 2.3.24 (python 2.7.14-final-0, default/linux/amd64/17.0, gcc-6.4.0, 
glibc-2.25-r10, 3.12.8-rt11-amdfx.3 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: 
Linux-3.12.8-rt11-amdfx.3-x86_64-AMD_FX-tm-8350_Eight-Core_Processor-with-gentoo-2.4.1
KiB Mem:    16420100 total,  14407800 free
KiB Swap:    8788924 total,   8788924 free
Timestamp of repository gentoo: Wed, 14 Mar 2018 17:27:59 +0000
Head commit of repository gentoo: 44cd70f1c891a692ec1df4651d8ed48b3863848a

sh dash 0.5.9.1-r3
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.26.9999::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo, 3.6.3-r1::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/sandbox:         2.12::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0-r1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r10::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    priority: -1000

aspo
    location: /home/local/portage
    masters: gentoo

Installed sets: @nonx
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt 
/var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf 
/etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo 
/etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d 
/etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs 24 --load-average 48"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks 
ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch 
preserve-libs protect-owned sandbox sfperms strict unknown-features-warn 
unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org";
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="af ar as be bg bn br ca cs cy da de el en en_GB eo es et eu fi fo fr 
ga gl gu he hr hsb hu hy ia id is it ja kn ko la lo lt lv ml mn mr nb nl nn no 
or pa pl pt pt_BR rm ro ru sa_IN sco sk sl sq sr sv ta te th tk tr uk vi zh"
MAKEOPTS="--jobs 24 --load-average 48"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times 
--omit-dir-times --compress --force --whole-file --delete --stats 
--human-readable --timeout=180 --exclude=/distfiles --exclude=/local 
--exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/Net/portage"
USE="X acl alsa amd64 athena berkdb bzip2 cli crypt ctype cvs cxx dbi dbm dri 
emacs encode examples exif flac fortran gdbm gif git gnuplot gpm guile gzip 
iconv ipv6 jack jpeg lzma lzo mbox mime modules mule multilib ncurses nls nptl 
ogg openmp pam pcre pdf perl plotutils png posix postscript raw readline recode 
seccomp smp sndfile sockets sound sox spell ssl subversion syslog szip tcl tcpd 
theora tiff timidity truetype unicode usb vorbis xattr xkb xpm xv xvid zlib" 
ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 
cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 
intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 
APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias 
auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm 
authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache 
cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter 
file_cache filter headers include info log_config logio mem_cache mime 
mime_magic negotiation rewrite setenvif speling status unique_id userdir 
usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage 
tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load 
memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" 
GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock 
isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 
rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" 
INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="da de el en en-GB 
es et fi fr ga is it lt lv nn no pl ru sv" LCD_DEVICES="bayrad cfontz cfontz633 
glk hd44780 lb216 lcdm001 mtxorb ncurses text" 
LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" 
OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" 
POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" 
PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22 ruby23" 
USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan 
length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq 
steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, 
PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, 
PORTAGE_RSYNC_EXTRA_OPTS

declare -x ABI="amd64"
declare -x ABI_X86="64"
declare -x ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 
emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m 
maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
declare -x APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions 
alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file 
authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user 
autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires 
ext_filter file_cache filter headers include info log_config logio mem_cache 
mime mime_magic negotiation rewrite setenvif speling status unique_id userdir 
usertrack vhost_alias"
declare -x ARCH="amd64"
declare -x BOOTSTRAP_USE="cxx unicode internal-glib python_targets_python3_5 
python_targets_python2_7 multilib"
declare -x CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita 
karbon braindump author"
declare -x CBUILD="x86_64-pc-linux-gnu"
declare -x CFLAGS="-O2 -pipe"
declare -x CFLAGS_amd64="-m64"
declare -x CFLAGS_default
declare -x CFLAGS_x32="-mx32"
declare -x CFLAGS_x86="-m32"
declare -x CHOST="x86_64-pc-linux-gnu"
declare -x CHOST_amd64="x86_64-pc-linux-gnu"
declare -x CHOST_default="x86_64-pc-linux-gnu"
declare -x CHOST_x32="x86_64-pc-linux-gnux32"
declare -x CHOST_x86="i686-pc-linux-gnu"
declare -x COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
declare -- COMMON_DEPEND=">=app-text/texlive-core-2017"
declare -x CPU_FLAGS_X86="mmx mmxext sse sse2"
declare -x CTARGET_default="x86_64-pc-linux-gnu"
declare -x CXXFLAGS="-O2 -pipe"
declare -x DEFAULT_ABI="amd64"
declare -x DEFINED_PHASES=" compile install postinst postrm prepare unpack"
declare DEPEND="!<dev-texlive/texlive-latex-2009
!<dev-texlive/texlive-latexrecommended-2009
!dev-texlive/texlive-documentation-base
!<app-text/dvipsk-5.996_p20160523
>=app-text/texlive-core-2015[luajittex?]

!!<dev-texlive/texlive-basic-2016
!!<dev-texlive/texlive-langafrican-2016
!!<dev-texlive/texlive-langarabic-2016
!!<dev-texlive/texlive-langarmenian-2016
!!<dev-texlive/texlive-langchinese-2016
!!<dev-texlive/texlive-langcjk-2016
!!<dev-texlive/texlive-langcroatian-2016
!!<dev-texlive/texlive-langcyrillic-2016
!!<dev-texlive/texlive-langczechslovak-2016
!!<dev-texlive/texlive-langdanish-2016
!!<dev-texlive/texlive-langdutch-2016
!!<dev-texlive/texlive-langenglish-2016
!!<dev-texlive/texlive-langeuropean-2016
!!<dev-texlive/texlive-langfinnish-2016
!!<dev-texlive/texlive-langfrench-2016
!!<dev-texlive/texlive-langgerman-2016
!!<dev-texlive/texlive-langgreek-2016
!!<dev-texlive/texlive-langhebrew-2016
!!<dev-texlive/texlive-langhungarian-2016
!!<dev-texlive/texlive-langindic-2016
!!<dev-texlive/texlive-langitalian-2016
!!<dev-texlive/texlive-langjapanese-2016
!!<dev-texlive/texlive-langkorean-2016
!!<dev-texlive/texlive-langlatin-2016
!!<dev-texlive/texlive-langlatvian-2016
!!<dev-texlive/texlive-langlithuanian-2016
!!<dev-texlive/texlive-langmongolian-2016
!!<dev-texlive/texlive-langnorwegian-2016
!!<dev-texlive/texlive-langother-2016
!!<dev-texlive/texlive-langpolish-2016
!!<dev-texlive/texlive-langportuguese-2016
!!<dev-texlive/texlive-langspanish-2016
!!<dev-texlive/texlive-langswedish-2016
!!<dev-texlive/texlive-langtibetan-2016
!!<dev-texlive/texlive-langturkmen-2016
!!<dev-texlive/texlive-langvietnamese-2016
 >=app-text/texlive-core-2017
        app-arch/xz-utils"
declare DESCRIPTION="TeXLive Essential programs and files"
declare -x DESTTREE="/usr"
declare -x DIROPTIONS="-m0755"
declare -x EAPI="5"
declare -x ELIBC="glibc"
declare -- EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch"
declare -- EPATCH_EXCLUDE=""
declare -- EPATCH_FORCE="no"
declare -- EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..."
declare -- EPATCH_N_APPLIED_PATCHES="1"
declare -- EPATCH_OPTS=""
declare -- EPATCH_SINGLE_MSG=""
declare -- 
EPATCH_SOURCE="/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work/patch"
declare -- EPATCH_SUFFIX="patch.bz2"
declare -- EPATCH_USER_SOURCE="/etc/portage/patches"
declare -x EXEOPTIONS="-m0755"
declare -x FCFLAGS="-O2 -pipe"
declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP 
\\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" 
\"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x FFLAGS="-O2 -pipe"
declare -x FLTK_DOCDIR="/usr/share/doc/fltk-1.3.3-r3/html"
declare -x GCC_SPECS=""
declare -x GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin 
garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle 
oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt 
ublox ubx"
declare -x GRUB_PLATFORMS=""
declare HDEPEND=""
declare -x HISTCONTROL="ignoreboth"
declare -x HISTFILESIZE="2000"
declare -x HISTSIZE="2000"
declare HOMEPAGE="http://www.tug.org/texlive/";
declare -x HUSHLOGIN="FALSE"
declare -x INHERITED=" texlive-common desktop estack epatch toolchain-funcs 
multilib ltprune preserve-libs vcs-clean eutils texlive-module"
declare -x INPUT_DEVICES="libinput"
declare -x INSDESTTREE=""
declare -x INSOPTIONS="-m0644"
declare IUSE="source doc +luajittex"
declare -x IUSE_EFFECTIVE="abi_x86_64 alpha amd64 amd64-fbsd amd64-linux arm 
arm-linux arm64 doc elibc_AIX elibc_Cygwin elibc_Darwin elibc_DragonFly 
elibc_FreeBSD elibc_HPUX elibc_Interix elibc_NetBSD elibc_OpenBSD elibc_SunOS 
elibc_Winnt elibc_bionic elibc_glibc elibc_mingw elibc_mintlib elibc_musl 
elibc_uclibc hppa ia64 kernel_AIX kernel_Darwin kernel_FreeBSD kernel_HPUX 
kernel_NetBSD kernel_OpenBSD kernel_SunOS kernel_Winnt kernel_freemint 
kernel_linux luajittex m68k m68k-mint mips ppc ppc-aix ppc-macos ppc64 
ppc64-linux prefix prefix-chain prefix-guest s390 sh source sparc sparc-solaris 
sparc64-solaris userland_BSD userland_GNU x64-cygwin x64-macos x64-solaris x86 
x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x IUSE_IMPLICIT="abi_x86_64 prefix prefix-chain prefix-guest"
declare -x KERNEL="linux"
declare -x KERNEL_ABI="amd64"
declare -x KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 
~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
declare -x L10N="da de el en en-GB es et fi fr ga is it lt lv nn no pl ru sv"
declare -x LADSPA_PATH="/usr/lib64/ladspa"
declare -x LANG="C"
declare -x LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 
mtxorb ncurses text"
declare -x LC_CTYPE="en_US.UTF-8"
declare -x LC_MESSAGES="C"
declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed"
declare -x LDFLAGS_amd64="-m elf_x86_64"
declare -x LDFLAGS_default
declare -x LDFLAGS_x32="-m elf32_x86_64"
declare -x LDFLAGS_x86="-m elf_i386"
declare -x LD_LIBRARY_PATH=""
declare -x LESSCHARSET="latin1"
declare -x LIBDIR_amd64="lib64"
declare -x LIBDIR_default="lib"
declare -x LIBDIR_x32="libx32"
declare -x LIBDIR_x86="lib32"
declare -x LIBOPTIONS="-m0644"
declare -x LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer"
declare -x LICENSE=" GPL-1 GPL-2 LPPL-1.3 OFL public-domain TeX TeX-other-free "
declare -x LINGUAS="af ar as be bg bn br ca cs cy da de el en en_GB eo es et eu 
fi fo fr ga gl gu he hr hsb hu hy ia id is it ja kn ko la lo lt lv ml mn mr nb 
nl nn no or pa pl pt pt_BR rm ro ru sa_IN sco sk sl sq sr sv ta te th tk tr uk 
vi zh"
declare -x LS_OPTIONS="-N -F --color"
declare -x MAIL="/var/mail/karl"
declare -x MAKEOPTS="--jobs 24 --load-average 48"
declare -x MANPAGER="manpager"
declare -x MULTILIB_ABIS="amd64 x86"
declare -x MULTILIB_STRICT_DENY="64-bit.*shared object"
declare -x MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib 
/usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 
/usr/X11R6/lib"
declare -x 
MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)"
declare -x NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java 
mobility nb php profiler soa visualweb webcommon websvccommon xml"
declare -x OFFICE_IMPLEMENTATION="libreoffice"
declare -x OPENCL_PROFILE="mesa"
declare -x OPENGL_PROFILE="xorg-x11"
declare -a 
PATCHES=([0]="/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/files/texmfcnflua2017.patch")
declare -x 
PATH="/Net/portage/portage/._portage_reinstall_.X_ypMR/bin/ebuild-helpers/xattr:/usr/lib/portage/python2.7/ebuild-helpers/xattr:/Net/portage/portage/._portage_reinstall_.X_ypMR/bin/ebuild-helpers:/usr/lib/portage/python2.7/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0:/usr/lib/llvm/5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
declare PDEPEND=""
declare -x PHP_TARGETS="php5-6 php7-0"
declare -- PKGEXT="tar.xz"
declare -x 
PKG_CONFIG_PATH="/usr/local/share/pkgconfig:/usr/local/lib/pkgconfig/"
declare -x PORTAGE_COMPRESSION_COMMAND="bzip2"
declare -a PORTAGE_DOCOMPRESS=([0]="/usr/share/doc" [1]="/usr/share/info" 
[2]="/usr/share/man")
declare -x PORTAGE_DOCOMPRESS_SIZE_LIMIT="128"
declare -a 
PORTAGE_DOCOMPRESS_SKIP=([0]="/usr/share/doc/texlive-basic-2017-r1/html")
declare -x POSTGRES_TARGETS="postgres9_5"
declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND 
USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH 
USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND"
declare -x PROPERTIES=""
declare -x PROVIDE=""
declare -x PYTHONDONTWRITEBYTECODE="1"
declare -x PYTHON_SINGLE_TARGET="python3_5"
declare -x PYTHON_TARGETS="python2_7 python3_5"
declare -x QT_GRAPHICSSYSTEM="raster"
declare RDEPEND="!<dev-texlive/texlive-latex-2009
!<dev-texlive/texlive-latexrecommended-2009
!dev-texlive/texlive-documentation-base
!<app-text/dvipsk-5.996_p20160523
>=app-text/texlive-core-2015[luajittex?]
 
!<dev-texlive/texlive-latex-2016
 >=app-text/texlive-core-2017"
declare -- RELOC_TARGET="texmf-dist"
declare REPOSITORY
declare REQUIRED_USE=""
declare -x RESTRICT=""
declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP 
\\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" 
\"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x RUBY_TARGETS="ruby22 ruby23"
declare -x S="/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work"
declare -x SANDBOX_DEBUG="0"
declare -x SANDBOX_DENY=""
declare -x 
SANDBOX_PREDICT="/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/homedir:/dev/crypto:/var/cache/fontconfig"
declare -x SANDBOX_READ="/:/Net/portage"
declare -x SANDBOX_VERBOSE="1"
declare -x 
SANDBOX_WRITE=":/Net/portage:/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/homedir/.bash_history:/dev/console:/dev/fd:/dev/full:/dev/null:/dev/ptmx:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/tmp/"
declare -x SHELL="/bin/bash"
declare -x SLOT="0"
declare SRC_URI=" mirror://gentoo/texlive-module-amsfonts-2017.tar.xz 
mirror://gentoo/texlive-module-bibtex-2017.tar.xz 
mirror://gentoo/texlive-module-cm-2017.tar.xz 
mirror://gentoo/texlive-module-enctex-2017.tar.xz 
mirror://gentoo/texlive-module-etex-2017.tar.xz 
mirror://gentoo/texlive-module-etex-pkg-2017.tar.xz 
mirror://gentoo/texlive-module-graphics-def-2017.tar.xz 
mirror://gentoo/texlive-module-hyph-utf8-2017.tar.xz 
mirror://gentoo/texlive-module-ifluatex-2017.tar.xz 
mirror://gentoo/texlive-module-ifxetex-2017.tar.xz 
mirror://gentoo/texlive-module-knuth-lib-2017.tar.xz 
mirror://gentoo/texlive-module-knuth-local-2017.tar.xz 
mirror://gentoo/texlive-module-lua-alt-getopt-2017.tar.xz 
mirror://gentoo/texlive-module-luatex-2017.tar.xz 
mirror://gentoo/texlive-module-makeindex-2017.tar.xz 
mirror://gentoo/texlive-module-metafont-2017.tar.xz 
mirror://gentoo/texlive-module-mflogo-2017.tar.xz 
mirror://gentoo/texlive-module-mfware-2017.tar.xz 
mirror://gentoo/texlive-module-pdftex-2017.tar.xz 
mirror://gentoo/texlive-module-plain-2017.tar.xz 
mirror://gentoo/texlive-module-tex-2017.tar.xz 
mirror://gentoo/texlive-module-tex-ini-files-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-common-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-docindex-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-en-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-msg-translations-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-scripts-2017.tar.xz 
mirror://gentoo/texlive-module-unicode-data-2017.tar.xz 
mirror://gentoo/texlive-module-updmap-map-2017.tar.xz 
mirror://gentoo/texlive-module-collection-basic-2017.tar.xz doc? ( 
mirror://gentoo/texlive-module-amsfonts.doc-2017.tar.xz 
mirror://gentoo/texlive-module-bibtex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-cm.doc-2017.tar.xz 
mirror://gentoo/texlive-module-enctex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-etex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-etex-pkg.doc-2017.tar.xz 
mirror://gentoo/texlive-module-graphics-def.doc-2017.tar.xz 
mirror://gentoo/texlive-module-hyph-utf8.doc-2017.tar.xz 
mirror://gentoo/texlive-module-ifluatex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-ifxetex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-lua-alt-getopt.doc-2017.tar.xz 
mirror://gentoo/texlive-module-luatex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-makeindex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-metafont.doc-2017.tar.xz 
mirror://gentoo/texlive-module-mflogo.doc-2017.tar.xz 
mirror://gentoo/texlive-module-mfware.doc-2017.tar.xz 
mirror://gentoo/texlive-module-pdftex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-tex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-tex-ini-files.doc-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-common.doc-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-docindex.doc-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-en.doc-2017.tar.xz 
mirror://gentoo/texlive-module-texlive-scripts.doc-2017.tar.xz 
mirror://gentoo/texlive-module-unicode-data.doc-2017.tar.xz ) source? ( 
mirror://gentoo/texlive-module-amsfonts.source-2017.tar.xz 
mirror://gentoo/texlive-module-hyph-utf8.source-2017.tar.xz 
mirror://gentoo/texlive-module-ifluatex.source-2017.tar.xz 
mirror://gentoo/texlive-module-ifxetex.source-2017.tar.xz 
mirror://gentoo/texlive-module-mflogo.source-2017.tar.xz )"
declare -x SYMLINK_LIB="yes"
declare -- TEXLIVE_MODULE_BINSCRIPTS="texmf-dist/scripts/simpdftex/simpdftex 
texmf-dist/scripts/texlive/rungs.tlu"
declare -- TEXLIVE_MODULE_CONTENTS="amsfonts bibtex cm enctex etex etex-pkg 
graphics-def hyph-utf8 ifluatex ifxetex knuth-lib knuth-local lua-alt-getopt 
luatex makeindex metafont mflogo mfware pdftex plain tex tex-ini-files 
texlive-common texlive-docindex texlive-en texlive-msg-translations 
texlive-scripts unicode-data updmap-map collection-basic
"
declare -- TEXLIVE_MODULE_DOC_CONTENTS="amsfonts.doc bibtex.doc cm.doc 
enctex.doc etex.doc etex-pkg.doc graphics-def.doc hyph-utf8.doc ifluatex.doc 
ifxetex.doc lua-alt-getopt.doc luatex.doc makeindex.doc metafont.doc mflogo.doc 
mfware.doc pdftex.doc tex.doc tex-ini-files.doc texlive-common.doc 
texlive-docindex.doc texlive-en.doc texlive-scripts.doc unicode-data.doc "
declare -- TEXLIVE_MODULE_OPTIONAL_ENGINE="luajittex"
declare -- TEXLIVE_MODULE_SRC_CONTENTS="amsfonts.source hyph-utf8.source 
ifluatex.source ifxetex.source mflogo.source "
declare -x TEXMF="/usr/local/share/texmf"
declare -- TEXMF_DIST_PATH="/usr/share/texmf-dist"
declare -- TEXMF_PATH="/usr/share/texmf"
declare -- TEXMF_VAR_PATH="/var/lib/texmf"
declare -x TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
declare -x TZ="Europe/Stockholm"
declare -x USE="abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU"
declare -x USERLAND="GNU"
declare -x USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND"
declare -x USE_EXPAND_UNPREFIXED="ARCH"
declare -x USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd amd64-linux arm 
arm-linux arm64 hppa ia64 m68k m68k-mint mips ppc ppc64 ppc64-linux ppc-aix 
ppc-macos s390 sh sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos 
x64-solaris x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x USE_EXPAND_VALUES_ELIBC="AIX bionic Cygwin Darwin DragonFly FreeBSD 
glibc HPUX Interix mingw mintlib musl NetBSD OpenBSD SunOS uclibc Winnt"
declare -x USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint HPUX linux 
NetBSD OpenBSD SunOS Winnt"
declare -x USE_EXPAND_VALUES_USERLAND="BSD GNU"
declare -x VERSION_CONTROL="numbered"
declare -x VIDEO_CARDS="nouveau"
declare -x WINDOWID="12582925"
declare -x WINDOWPATH="9"
declare -x XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset 
ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark 
dhcpmac delude chaos account"
declare -x XTERM_LOCALE="en_US.UTF-8"
declare -x XTERM_SHELL="/bin/bash"
declare -x XTERM_VERSION="XTerm(327)"
declare -- _DESKTOP_ECLASS="1"
declare -- _EPATCH_ECLASS="1"
declare -- _ESTACK_ECLASS="1"
declare -- _EUTILS_ECLASS="1"
declare -x _E_DOCDESTTREE_=""
declare -x _E_EXEDESTTREE_=""
declare -- _LTPRUNE_ECLASS="1"
declare -- _MULTILIB_ECLASS="1"
declare -- _PRESERVE_LIBS_ECLASS="1"
declare -- _TOOLCHAIN_FUNCS_ECLASS="1"
declare -- engine="luajittex"
declare -- i="fonts/map/pdftex/updmap/pdftex_ndl14.map"
declare -- phase_func
__eapi6_src_install () 
{ 
    if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then
        emake DESTDIR="${D}" install;
    fi;
    einstalldocs
}
__eapi6_src_prepare () 
{ 
    if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then
        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}";
    else
        if [[ -n ${PATCHES} ]]; then
            eapply ${PATCHES};
        fi;
    fi;
    eapply_user
}
_clang_fullversion () 
{ 
    local ver="$1";
    shift;
    set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ 
__clang_patchlevel__");
    eval echo "$ver"
}
_epatch_draw_line () 
{ 
    [[ -z $1 ]] && set "$(printf "%65s" '')";
    echo "${1//?/=}"
}
_gcc-install-dir () 
{ 
    echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null |              
awk '$1=="install:" {print $2}')"
}
_gcc-specs-directive_raw () 
{ 
    local cc=$(tc-getCC);
    local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}');
    ${cc} -dumpspecs 2> /dev/null | cat - ${specfiles} | awk -v directive=$1 
'BEGIN     { pspec=""; spec=""; outside=1 }
$1=="*"directive":"  { pspec=spec; spec=""; outside=0; next }
        outside || NF==0 || ( substr($1,1,1)=="*" && 
substr($1,length($1),1)==":" ) { outside=1; next }
        spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next }
        { spec=spec $0 }
END     { print spec }';
    return 0
}
_gcc-specs-exists () 
{ 
    [[ -f $(_gcc-install-dir)/$1 ]]
}
_gcc_fullversion () 
{ 
    local ver="$1";
    shift;
    set -- $($(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ 
__GNUC_PATCHLEVEL__");
    eval echo "$ver"
}
_iconins () 
{ 
    ( local funcname=$1;
    shift;
    local size dir;
    local context=apps;
    local theme=hicolor;
    while [[ $# -gt 0 ]]; do
        case $1 in 
            -s | --size)
                if [[ ${2%%x*}x${2%%x*} == "$2" ]]; then
                    size=${2%%x*};
                else
                    size=${2};
                fi;
                case ${size} in 
                    16 | 22 | 24 | 32 | 36 | 48 | 64 | 72 | 96 | 128 | 192 | 
256 | 512)
                        size=${size}x${size}
                    ;;
                    scalable)

                    ;;
                    *)
                        eerror "${size} is an unsupported icon size!";
                        exit 1
                    ;;
                esac;
                shift 2
            ;;
            -t | --theme)
                theme=${2};
                shift 2
            ;;
            -c | --context)
                context=${2};
                shift 2
            ;;
            *)
                if [[ -z ${size} ]]; then
                    insinto /usr/share/pixmaps;
                else
                    insinto /usr/share/icons/${theme}/${size}/${context};
                fi;
                if [[ ${funcname} == doicon ]]; then
                    if [[ -f $1 ]]; then
                        doins "${1}";
                    else
                        if [[ -d $1 ]]; then
                            shopt -s nullglob;
                            doins "${1}"/*.{png,svg};
                            shopt -u nullglob;
                        else
                            eerror "${1} is not a valid file/directory!";
                            exit 1;
                        fi;
                    fi;
                else
                    break;
                fi;
                shift 1
            ;;
        esac;
    done;
    if [[ ${funcname} == newicon ]]; then
        newins "$@";
    fi ) || die
}
_tc-getPROG () 
{ 
    local tuple=$1;
    local v var vars=$2;
    local prog=($3);
    var=${vars%% *};
    for v in ${vars};
    do
        if [[ -n ${!v} ]]; then
            export ${var}="${!v}";
            echo "${!v}";
            return 0;
        fi;
    done;
    local search=;
    [[ -n $4 ]] && search=$(type -p $4-${prog[0]});
    [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p 
${!tuple}-${prog[0]});
    [[ -n ${search} ]] && prog[0]=${search##*/};
    export ${var}="${prog[*]}";
    echo "${!var}"
}
clang-fullversion () 
{ 
    _clang_fullversion '$1.$2.$3' "$@"
}
clang-major-version () 
{ 
    _clang_fullversion '$1' "$@"
}
clang-micro-version () 
{ 
    _clang_fullversion '$3' "$@"
}
clang-minor-version () 
{ 
    _clang_fullversion '$2' "$@"
}
clang-version () 
{ 
    _clang_fullversion '$1.$2' "$@"
}
dobin_texmf_scripts () 
{ 
    while [ $# -gt 0 ]; do
        local trg=$(basename ${1} | sed 's,\.[^/]*$,,' | tr '[:upper:]' 
'[:lower:]');
        einfo "Installing ${1} as ${trg} bin wrapper";
        [ -x "${ED}/usr/share/${1}" ] || die "Trying to install a non existing 
or non executable symlink to /usr/bin: ${1}";
        dosym ../share/${1} /usr/bin/${trg} || die "failed to install ${1} as 
$trg";
        shift;
    done
}
doicon () 
{ 
    _iconins ${FUNCNAME} "$@"
}
domenu () 
{ 
    ( local i j ret=0;
    insinto /usr/share/applications;
    for i in "$@";
    do
        if [[ -f ${i} ]]; then
            doins "${i}";
            ((ret+=$?));
        else
            if [[ -d ${i} ]]; then
                for j in "${i}"/*.desktop;
                do
                    doins "${j}";
                    ((ret+=$?));
                done;
            else
                ((++ret));
            fi;
        fi;
    done;
    exit ${ret} )
}
ebeep () 
{ 
    ewarn "QA Notice: ebeep is not defined in EAPI=${EAPI}, please file a bug 
at https://bugs.gentoo.org";
}
econf_build () 
{ 
    local CBUILD=${CBUILD:-${CHOST}};
    tc-env_build econf --build=${CBUILD} --host=${CBUILD} "$@"
}
ecvs_clean () 
{ 
    [[ $# -eq 0 ]] && set -- .;
    find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' -exec 
rm -rf '{}' +
}
edos2unix () 
{ 
    [[ $# -eq 0 ]] && return 0;
    sed -i 's/\r$//' -- "$@" || die
}
efmtutil-sys () 
{ 
    if has_version 'app-text/texlive-core'; then
        if [ "$ROOT" = "/" ] && [ -x "${EPREFIX}"/usr/bin/fmtutil-sys ]; then
            einfo "Rebuilding formats";
            "${EPREFIX}"/usr/bin/fmtutil-sys --all &> /dev/null;
        else
            ewarn "Cannot run fmtutil-sys for some reason.";
            ewarn "Your formats might be inconsistent with your installed ${PN} 
version";
            ewarn "Please try to figure what has happened";
        fi;
    fi
}
egit_clean () 
{ 
    [[ $# -eq 0 ]] && set -- .;
    find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
}
einstalldocs () 
{ 
    debug-print-function ${FUNCNAME} "${@}";
    local dodoc_opts=-r;
    has ${EAPI} 0 1 2 3 && dodoc_opts=;
    if ! declare -p DOCS &> /dev/null; then
        local d;
        for d in README* ChangeLog AUTHORS NEWS TODO CHANGES THANKS BUGS FAQ 
CREDITS CHANGELOG;
        do
            if [[ -s ${d} ]]; then
                dodoc "${d}" || die;
            fi;
        done;
    else
        if [[ $(declare -p DOCS) == "declare -a"* ]]; then
            if [[ -n ${DOCS[@]} ]]; then
                dodoc ${dodoc_opts} "${DOCS[@]}" || die;
            fi;
        else
            if [[ -n ${DOCS} ]]; then
                dodoc ${dodoc_opts} ${DOCS} || die;
            fi;
        fi;
    fi;
    if [[ $(declare -p HTML_DOCS 2>/dev/null) == "declare -a"* ]]; then
        if [[ -n ${HTML_DOCS[@]} ]]; then
            dohtml -r "${HTML_DOCS[@]}" || die;
        fi;
    else
        if [[ -n ${HTML_DOCS} ]]; then
            dohtml -r ${HTML_DOCS} || die;
        fi;
    fi;
    return 0
}
emktemp () 
{ 
    local exe="touch";
    [[ $1 == -d ]] && exe="mkdir" && shift;
    local topdir=$1;
    if [[ -z ${topdir} ]]; then
        [[ -z ${T} ]] && topdir="/tmp" || topdir=${T};
    fi;
    if ! type -P mktemp > /dev/null; then
        local tmp=/;
        while [[ -e ${tmp} ]]; do
            tmp=${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM};
        done;
        ${exe} "${tmp}" || ${exe} -p "${tmp}";
        echo "${tmp}";
    else
        if [[ ${exe} == "touch" ]]; then
            TMPDIR="${topdir}" mktemp -t tmp.XXXXXXXXXX;
        else
            TMPDIR="${topdir}" mktemp -dt tmp.XXXXXXXXXX;
        fi;
    fi
}
epatch () 
{ 
    function _epatch_draw_line () 
    { 
        [[ -z $1 ]] && set "$(printf "%65s" '')";
        echo "${1//?/=}"
    };
    unset P4CONFIG P4PORT P4USER;
    local EPATCH_OPTS=(${EPATCH_OPTS[*]});
    while [[ $# -gt 0 ]]; do
        case $1 in 
            -*)
                EPATCH_OPTS+=("$1")
            ;;
            *)
                break
            ;;
        esac;
        shift;
    done;
    if [[ $# -gt 1 ]]; then
        local m;
        for m in "$@";
        do
            epatch "${m}";
        done;
        return 0;
    fi;
    local SINGLE_PATCH="no";
    [[ $# -eq 0 ]] && set -- "${EPATCH_SOURCE}";
    if [[ -f $1 ]]; then
        SINGLE_PATCH="yes";
        set -- "$1";
        local EPATCH_SUFFIX=$1;
    else
        if [[ -d $1 ]]; then
            evar_push_set LC_COLLATE C;
            set -- "$1"/*${EPATCH_SUFFIX:+."${EPATCH_SUFFIX}"};
            evar_pop;
        else
            if [[ -f ${EPATCH_SOURCE}/$1 ]]; then
                epatch "${EPATCH_SOURCE}/$1";
                return $?;
            else
                [[ $# -ne 0 ]] && EPATCH_SOURCE=$1;
                echo;
                eerror "Cannot find \$EPATCH_SOURCE!  Value for \$EPATCH_SOURCE 
is:";
                eerror;
                eerror "  ${EPATCH_SOURCE}";
                eerror "  ( ${EPATCH_SOURCE##*/} )";
                echo;
                die "Cannot find \$EPATCH_SOURCE!";
            fi;
        fi;
    fi;
    EPATCH_OPTS="${EPATCH_COMMON_OPTS} ${EPATCH_OPTS[*]}";
    local PIPE_CMD;
    case ${EPATCH_SUFFIX##*\.} in 
        xz)
            PIPE_CMD="xz -dc"
        ;;
        lzma)
            PIPE_CMD="lzma -dc"
        ;;
        bz2)
            PIPE_CMD="bzip2 -dc"
        ;;
        gz | Z | z)
            PIPE_CMD="gzip -dc"
        ;;
        ZIP | zip)
            PIPE_CMD="unzip -p"
        ;;
        *)

        ;;
    esac;
    [[ ${SINGLE_PATCH} == "no" ]] && einfo "${EPATCH_MULTI_MSG}";
    local x;
    for x in "$@";
    do
        [[ ! -f ${x} ]] && continue;
        local patchname=${x##*/};
        local a=${patchname#*_};
        a=${a%%_*};
        if ! [[ ${SINGLE_PATCH} == "yes" || ${EPATCH_FORCE} == "yes" || ${a} == 
all || ${a} == ${ARCH} ]]; then
            continue;
        fi;
        if [[ -n ${EPATCH_EXCLUDE}${EPATCH_USER_EXCLUDE} ]]; then
            eshopts_push -o noglob;
            local ex;
            for ex in ${EPATCH_EXCLUDE};
            do
                if [[ ${patchname} == ${ex} ]]; then
                    einfo "  Skipping ${patchname} due to EPATCH_EXCLUDE ...";
                    eshopts_pop;
                    continue 2;
                fi;
            done;
            for ex in ${EPATCH_USER_EXCLUDE};
            do
                if [[ ${patchname} == ${ex} ]]; then
                    einfo "  Skipping ${patchname} due to EPATCH_USER_EXCLUDE 
...";
                    eshopts_pop;
                    continue 2;
                fi;
            done;
            eshopts_pop;
        fi;
        if [[ ${SINGLE_PATCH} == "yes" ]]; then
            if [[ -n ${EPATCH_SINGLE_MSG} ]]; then
                einfo "${EPATCH_SINGLE_MSG}";
            else
                einfo "Applying ${patchname} ...";
            fi;
        else
            einfo "  ${patchname} ...";
        fi;
        local patch="patch";
        eval $(alias patch 2>/dev/null | sed 's:^alias ::');
        local STDERR_TARGET="${T}/${patchname}.out";
        if [[ -e ${STDERR_TARGET} ]]; then
            STDERR_TARGET="${T}/${patchname}-$$.out";
        fi;
        printf "***** %s *****\nPWD: %s\nPATCH TOOL: %s -> %s\nVERSION 
INFO:\n%s\n\n" "${patchname}" "${PWD}" "${patch}" "$(type -P "${patch}")" 
"$(${patch} --version)" > "${STDERR_TARGET}";
        local count=0;
        local PATCH_TARGET;
        if [[ -n ${PIPE_CMD} ]]; then
            PATCH_TARGET="${T}/$$.patch";
            echo "PIPE_COMMAND:  ${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> 
"${STDERR_TARGET}";
            if ! ( ${PIPE_CMD} "${x}" > "${PATCH_TARGET}" ) >> 
"${STDERR_TARGET}" 2>&1; then
                echo;
                eerror "Could not extract patch!";
                count=5;
                break;
            fi;
        else
            PATCH_TARGET=${x};
        fi;
        local abs_paths=$(egrep -n '^[-+]{3} /' "${PATCH_TARGET}" | awk '$2 != 
"/dev/null" { print }');
        if [[ -n ${abs_paths} ]]; then
            count=1;
            printf "NOTE: skipping -p0 due to absolute paths in patch:\n%s\n" 
"${abs_paths}" >> "${STDERR_TARGET}";
        fi;
        local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' "${PATCH_TARGET}");
        if [[ -n ${rel_paths} ]]; then
            echo;
            eerror "Rejected Patch: ${patchname} !";
            eerror " ( ${PATCH_TARGET} )";
            eerror;
            eerror "Your patch uses relative paths '../':";
            eerror "${rel_paths}";
            echo;
            die "you need to fix the relative paths in patch";
        fi;
        local patch_cmd;
        while [[ ${count} -lt 5 ]]; do
            patch_cmd="${patch} -p${count} ${EPATCH_OPTS}";
            ( _epatch_draw_line "***** ${patchname} *****";
            echo;
            echo "PATCH COMMAND:  ${patch_cmd} --dry-run -f < 
'${PATCH_TARGET}'";
            echo;
            _epatch_draw_line "***** ${patchname} *****";
            ${patch_cmd} --dry-run -f < "${PATCH_TARGET}" 2>&1;
            ret=$?;
            echo;
            echo "patch program exited with status ${ret}";
            exit ${ret} ) >> "${STDERR_TARGET}";
            if [ $? -eq 0 ]; then
                ( _epatch_draw_line "***** ${patchname} *****";
                echo;
                echo "ACTUALLY APPLYING ${patchname} ...";
                echo "PATCH COMMAND:  ${patch_cmd} < '${PATCH_TARGET}'";
                echo;
                _epatch_draw_line "***** ${patchname} *****";
                ${patch_cmd} < "${PATCH_TARGET}" 2>&1;
                ret=$?;
                echo;
                echo "patch program exited with status ${ret}";
                exit ${ret} ) >> "${STDERR_TARGET}";
                if [ $? -ne 0 ]; then
                    echo;
                    eerror "A dry-run of patch command succeeded, but actually";
                    eerror "applying the patch failed!";
                    count=5;
                fi;
                break;
            fi;
            : $(( count++ ));
        done;
        (( EPATCH_N_APPLIED_PATCHES++ ));
        if [[ -n ${PIPE_CMD} ]]; then
            rm -f "${PATCH_TARGET}";
        fi;
        if [[ ${count} -ge 5 ]]; then
            echo;
            eerror "Failed Patch: ${patchname} !";
            eerror " ( ${PATCH_TARGET} )";
            eerror;
            eerror "Include in your bugreport the contents of:";
            eerror;
            eerror "  ${STDERR_TARGET}";
            echo;
            die "Failed Patch: ${patchname}!";
        fi;
        rm -f "${STDERR_TARGET}";
        cat >> "${T}/epatch.log"  <<-EOF
PATCH: ${x}
CMD: ${patch_cmd}
PWD: ${PWD}

EOF

        eend 0;
    done;
    [[ ${SINGLE_PATCH} == "no" ]] && einfo "Done with patching";
    :
}
epatch_user () 
{ 
    [[ $# -ne 0 ]] && die "epatch_user takes no options";
    local applied="${T}/epatch_user.log";
    [[ -e ${applied} ]] && return 2;
    local EPATCH_SOURCE check;
    for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT%/*}};
    do
        EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CTARGET}/${check};
        [[ -r ${EPATCH_SOURCE} ]] || 
EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CHOST}/${check};
        [[ -r ${EPATCH_SOURCE} ]] || 
EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${check};
        if [[ -d ${EPATCH_SOURCE} ]]; then
            local old_n_applied_patches=${EPATCH_N_APPLIED_PATCHES:-0};
            EPATCH_SOURCE=${EPATCH_SOURCE} EPATCH_SUFFIX="patch" 
EPATCH_FORCE="yes" EPATCH_MULTI_MSG="Applying user patches from 
${EPATCH_SOURCE} ..." epatch;
            echo "${EPATCH_SOURCE}" > "${applied}";
            if [[ ${old_n_applied_patches} -lt ${EPATCH_N_APPLIED_PATCHES} ]]; 
then
                has epatch_user_death_notice ${EBUILD_DEATH_HOOKS} || 
EBUILD_DEATH_HOOKS+=" epatch_user_death_notice";
            fi;
            return 0;
        fi;
    done;
    echo "none" > "${applied}";
    return 1
}
epatch_user_death_notice () 
{ 
    ewarn "!!! User patches were applied to this build!"
}
epause () 
{ 
    ewarn "QA Notice: epause is not defined in EAPI=${EAPI}, please file a bug 
at https://bugs.gentoo.org";
}
eshopts_pop () 
{ 
    local s;
    estack_pop eshopts s || die "${FUNCNAME}: unbalanced push";
    eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}"
}
eshopts_push () 
{ 
    if [[ $1 == -[su] ]]; then
        estack_push eshopts "$(shopt -p)";
        [[ $# -eq 0 ]] && return 0;
        shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*";
    else
        estack_push eshopts "$(shopt -p -o)";
        [[ $# -eq 0 ]] && return 0;
        set "$@" || die "${FUNCNAME}: bad options to set: $*";
    fi
}
estack_pop () 
{ 
    [[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments";
    local _estack_name="_ESTACK_$1_";
    shift;
    local _estack_retvar=$1;
    shift;
    eval local _estack_i=\${#${_estack_name}\[@\]};
    [[ $(( --_estack_i )) -eq -1 ]] && return 1;
    if [[ -n ${_estack_retvar} ]]; then
        eval ${_estack_retvar}=\"\${${_estack_name}\[${_estack_i}\]}\";
    fi;
    eval unset \"${_estack_name}\[${_estack_i}\]\"
}
estack_push () 
{ 
    [[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments";
    local stack_name="_ESTACK_$1_";
    shift;
    eval ${stack_name}+=\( \"\$@\" \)
}
esvn_clean () 
{ 
    [[ $# -eq 0 ]] && set -- .;
    find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
}
etexlinks () 
{ 
    texlive-common_do_symlinks $(sed '/^[      ]*#/d; /^[      ]*$/d' "$1" | 
awk '{print $1, $2}')
}
etexmf-update () 
{ 
    if has_version 'app-text/texlive-core'; then
        if [ "$ROOT" = "/" ] && [ -x "${EPREFIX}"/usr/sbin/texmf-update ]; then
            "${EPREFIX}"/usr/sbin/texmf-update;
        else
            ewarn "Cannot run texmf-update for some reason.";
            ewarn "Your texmf tree might be inconsistent with your 
configuration";
            ewarn "Please try to figure what has happened";
        fi;
    fi
}
eumask_pop () 
{ 
    [[ $# -eq 0 ]] || die "${FUNCNAME}: we take no options";
    local s;
    estack_pop eumask s || die "${FUNCNAME}: unbalanced push";
    umask ${s} || die "${FUNCNAME}: sanity: could not restore umask: ${s}"
}
eumask_push () 
{ 
    estack_push eumask "$(umask)";
    umask "$@" || die "${FUNCNAME}: bad options to umask: $*"
}
evar_pop () 
{ 
    local cnt=${1:-bad};
    case $# in 
        0)
            cnt=1
        ;;
        1)
            isdigit "${cnt}" || die "${FUNCNAME}: first arg must be a number: 
$*"
        ;;
        *)
            die "${FUNCNAME}: only accepts one arg: $*"
        ;;
    esac;
    local var val;
    while (( cnt-- )); do
        estack_pop evar val || die "${FUNCNAME}: unbalanced push";
        estack_pop evar var || die "${FUNCNAME}: unbalanced push";
        [[ ${val} == "unset_76fc3c462065bb4ca959f939e6793f94" ]] && unset 
${var} || printf -v "${var}" '%s' "${val}";
    done
}
evar_push () 
{ 
    local var val;
    for var in "$@";
    do
        [[ ${!var+set} == "set" ]] && val=${!var} || 
val="unset_76fc3c462065bb4ca959f939e6793f94";
        estack_push evar "${var}" "${val}";
    done
}
evar_push_set () 
{ 
    local var=$1;
    evar_push ${var};
    case $# in 
        1)
            unset ${var}
        ;;
        2)
            printf -v "${var}" '%s' "$2"
        ;;
        *)
            die "${FUNCNAME}: incorrect # of args: $*"
        ;;
    esac
}
gcc-fullversion () 
{ 
    _gcc_fullversion '$1.$2.$3' "$@"
}
gcc-major-version () 
{ 
    _gcc_fullversion '$1' "$@"
}
gcc-micro-version () 
{ 
    _gcc_fullversion '$3' "$@"
}
gcc-minor-version () 
{ 
    _gcc_fullversion '$2' "$@"
}
gcc-specs-directive () 
{ 
    local directive subdname subdirective;
    directive="$(_gcc-specs-directive_raw $1)";
    while [[ ${directive} == *%\(*\)* ]]; do
        subdname=${directive/*%\(};
        subdname=${subdname/\)*};
        subdirective="$(_gcc-specs-directive_raw ${subdname})";
        directive="${directive//\%(${subdname})/${subdirective}}";
    done;
    echo "${directive}";
    return 0
}
gcc-specs-nostrict () 
{ 
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fstrict-overflow:}" != "${directive}" ]]
}
gcc-specs-now () 
{ 
    local directive;
    directive=$(gcc-specs-directive link_command);
    [[ "${directive/\{!nonow:}" != "${directive}" ]]
}
gcc-specs-pie () 
{ 
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!nopie:}" != "${directive}" ]]
}
gcc-specs-relro () 
{ 
    local directive;
    directive=$(gcc-specs-directive link_command);
    [[ "${directive/\{!norelro:}" != "${directive}" ]]
}
gcc-specs-ssp () 
{ 
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-protector:}" != "${directive}" ]]
}
gcc-specs-ssp-to-all () 
{ 
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-protector-all:}" != "${directive}" ]]
}
gcc-specs-stack-check () 
{ 
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-check:}" != "${directive}" ]]
}
gcc-version () 
{ 
    _gcc_fullversion '$1.$2' "$@"
}
gen_usr_ldscript () 
{ 
    local lib libdir=$(get_libdir) output_format="" auto=false 
suffix=$(get_libname);
    [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/;
    tc-is-static-only && return;
    if [[ $(type -t multilib_is_native_abi) == "function" ]]; then
        multilib_is_native_abi || return 0;
    fi;
    case ${CTARGET:-${CHOST}} in 
        *-darwin*)

        ;;
        *-android*)
            return 0
        ;;
        *linux* | *-freebsd* | *-openbsd* | *-netbsd*)
            use prefix && return 0
        ;;
        *)
            return 0
        ;;
    esac;
    dodir /usr/${libdir};
    if [[ $1 == "-a" ]]; then
        auto=true;
        shift;
        dodir /${libdir};
    fi;
    local flags=(${CFLAGS} ${LDFLAGS} -Wl,--verbose);
    if $(tc-getLD) --version | grep -q 'GNU gold'; then
        local d="${T}/bfd-linker";
        mkdir -p "${d}";
        ln -sf $(which ${CHOST}-ld.bfd) "${d}"/ld;
        flags+=(-B"${d}");
    fi;
    output_format=$($(tc-getCC) "${flags[@]}" 2>&1 | sed -n 
's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p');
    [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( 
${output_format} )";
    for lib in "$@";
    do
        local tlib;
        if ${auto}; then
            lib="lib${lib}${suffix}";
        else
            [[ -r ${ED}/${libdir}/${lib} ]] || continue;
        fi;
        case ${CTARGET:-${CHOST}} in 
            *-darwin*)
                if ${auto}; then
                    tlib=$(scanmacho -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
                else
                    tlib=$(scanmacho -qF'%S#F' "${ED}"/${libdir}/${lib});
                fi;
                [[ -z ${tlib} ]] && die "unable to read install_name from 
${lib}";
                tlib=${tlib##*/};
                if ${auto}; then
                    mv "${ED}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} 
"${ED}"/${libdir}/ || die;
                    if [[ ${tlib} != ${lib%${suffix}}.*${suffix#.} ]]; then
                        mv "${ED}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} 
"${ED}"/${libdir}/ || die;
                    fi;
                    rm -f "${ED}"/${libdir}/${lib};
                fi;
                if [[ ! -w "${ED}/${libdir}/${tlib}" ]]; then
                    chmod u+w "${ED}${libdir}/${tlib}";
                    local nowrite=yes;
                fi;
                install_name_tool -id "${EPREFIX}"/${libdir}/${tlib} 
"${ED}"/${libdir}/${tlib} || die "install_name_tool failed";
                [[ -n ${nowrite} ]] && chmod u-w "${ED}${libdir}/${tlib}";
                pushd "${ED}/usr/${libdir}" > /dev/null;
                ln -snf "../../${libdir}/${tlib}" "${lib}";
                popd > /dev/null
            ;;
            *)
                if ${auto}; then
                    tlib=$(scanelf -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
                    [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
                    mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die;
                    if [[ ${tlib} != ${lib}* ]]; then
                        mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || 
die;
                    fi;
                    rm -f "${ED}"/${libdir}/${lib};
                else
                    tlib=${lib};
                fi;
                cat > "${ED}/usr/${libdir}/${lib}"  <<-END_LDSCRIPT
/* GNU ld script
   Since Gentoo has critical dynamic libraries in /lib, and the static versions
   in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
   run into linking problems.  This "fake" dynamic lib is a linker script that
   redirects the linker to the real lib.  And yes, this works in the cross-
   compiling scenario as the sysroot-ed linker will prepend the real path.

   See bug https://bugs.gentoo.org/4411 for more info.
 */
${output_format}
GROUP ( ${EPREFIX}/${libdir}/${tlib} )
END_LDSCRIPT

            ;;
        esac
        fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on 
${lib}";
    done
}
get_abi_CFLAGS () 
{ 
    get_abi_var CFLAGS "$@"
}
get_abi_CHOST () 
{ 
    get_abi_var CHOST "$@"
}
get_abi_CTARGET () 
{ 
    get_abi_var CTARGET "$@"
}
get_abi_FAKE_TARGETS () 
{ 
    get_abi_var FAKE_TARGETS "$@"
}
get_abi_LDFLAGS () 
{ 
    get_abi_var LDFLAGS "$@"
}
get_abi_LIBDIR () 
{ 
    get_abi_var LIBDIR "$@"
}
get_abi_var () 
{ 
    local flag=$1;
    local abi=${2:-${ABI:-${DEFAULT_ABI:-default}}};
    local var="${flag}_${abi}";
    echo ${!var}
}
get_all_abis () 
{ 
    local x order="" mvar dvar;
    mvar="MULTILIB_ABIS";
    dvar="DEFAULT_ABI";
    if [[ -n $1 ]]; then
        mvar="$1_${mvar}";
        dvar="$1_${dvar}";
    fi;
    if [[ -z ${!mvar} ]]; then
        echo "default";
        return 0;
    fi;
    for x in ${!mvar};
    do
        if [[ ${x} != ${!dvar} ]]; then
            order="${order:+${order} }${x}";
        fi;
    done;
    order="${order:+${order} }${!dvar}";
    echo ${order};
    return 0
}
get_all_libdirs () 
{ 
    local libdirs abi;
    for abi in ${MULTILIB_ABIS};
    do
        libdirs+=" $(get_abi_LIBDIR ${abi})";
    done;
    [[ " ${libdirs} " != *" lib "* ]] && libdirs+=" lib";
    echo "${libdirs}"
}
get_exeext () 
{ 
    case ${CHOST} in 
        *-cygwin* | mingw* | *-mingw*)
            echo ".exe"
        ;;
    esac
}
get_install_abis () 
{ 
    local x order="";
    if [[ -z ${MULTILIB_ABIS} ]]; then
        echo "default";
        return 0;
    fi;
    if [[ ${EMULTILIB_PKG} == "true" ]]; then
        for x in ${MULTILIB_ABIS};
        do
            if [[ ${x} != "${DEFAULT_ABI}" ]]; then
                has ${x} ${ABI_DENY} || order="${order} ${x}";
            fi;
        done;
        has ${DEFAULT_ABI} ${ABI_DENY} || order="${order} ${DEFAULT_ABI}";
        if [[ -n ${ABI_ALLOW} ]]; then
            local ordera="";
            for x in ${order};
            do
                if has ${x} ${ABI_ALLOW}; then
                    ordera="${ordera} ${x}";
                fi;
            done;
            order=${ordera};
        fi;
    else
        order=${DEFAULT_ABI};
    fi;
    if [[ -z ${order} ]]; then
        die "The ABI list is empty.  Are you using a proper multilib profile?  
Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package.";
    fi;
    echo ${order};
    return 0
}
get_libdir () 
{ 
    local CONF_LIBDIR;
    if [ -n "${CONF_LIBDIR_OVERRIDE}" ]; then
        echo ${CONF_LIBDIR_OVERRIDE};
    else
        get_abi_LIBDIR;
    fi
}
get_libname () 
{ 
    local libname;
    local ver=$1;
    case ${CHOST} in 
        *-cygwin*)
            libname="dll.a"
        ;;
        mingw* | *-mingw*)
            libname="dll"
        ;;
        *-darwin*)
            libname="dylib"
        ;;
        *-mint*)
            libname="irrelevant"
        ;;
        hppa*-hpux*)
            libname="sl"
        ;;
        *)
            libname="so"
        ;;
    esac;
    if [[ -z $* ]]; then
        echo ".${libname}";
    else
        for ver in "$@";
        do
            case ${CHOST} in 
                *-cygwin*)
                    echo ".${ver}.${libname}"
                ;;
                *-darwin*)
                    echo ".${ver}.${libname}"
                ;;
                *-mint*)
                    echo ".${libname}"
                ;;
                *)
                    echo ".${libname}.${ver}"
                ;;
            esac;
        done;
    fi
}
get_modname () 
{ 
    local modname;
    local ver=$1;
    case ${CHOST} in 
        *-darwin*)
            modname="bundle"
        ;;
        *)
            modname="so"
        ;;
    esac;
    echo ".${modname}"
}
has_multilib_profile () 
{ 
    [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
}
in_iuse () 
{ 
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${#} -eq 1 ]] || die "Invalid args to ${FUNCNAME}()";
    local flag=${1};
    local liuse=(${IUSE});
    has "${flag}" "${liuse[@]#[+-]}"
}
is_final_abi () 
{ 
    has_multilib_profile || return 0;
    set -- $(get_install_abis);
    local LAST_ABI=$#;
    [[ ${!LAST_ABI} == ${ABI} ]]
}
isdigit () 
{ 
    local d;
    for d in "$@";
    do
        [[ ${d:-bad} == *[!0-9]* ]] && return 1;
    done;
    return 0
}
make_desktop_entry () 
{ 
    [[ -z $1 ]] && die "make_desktop_entry: You must specify the executable";
    local exec=${1};
    local name=${2:-${PN}};
    local icon=${3:-${PN}};
    local type=${4};
    local fields=${5};
    if [[ -z ${type} ]]; then
        local catmaj=${CATEGORY%%-*};
        local catmin=${CATEGORY##*-};
        case ${catmaj} in 
            app)
                case ${catmin} in 
                    accessibility)
                        type="Utility;Accessibility"
                    ;;
                    admin)
                        type=System
                    ;;
                    antivirus)
                        type=System
                    ;;
                    arch)
                        type="Utility;Archiving"
                    ;;
                    backup)
                        type="Utility;Archiving"
                    ;;
                    cdr)
                        type="AudioVideo;DiscBurning"
                    ;;
                    dicts)
                        type="Office;Dictionary"
                    ;;
                    doc)
                        type=Documentation
                    ;;
                    editors)
                        type="Utility;TextEditor"
                    ;;
                    emacs)
                        type="Development;TextEditor"
                    ;;
                    emulation)
                        type="System;Emulator"
                    ;;
                    laptop)
                        type="Settings;HardwareSettings"
                    ;;
                    office)
                        type=Office
                    ;;
                    pda)
                        type="Office;PDA"
                    ;;
                    vim)
                        type="Development;TextEditor"
                    ;;
                    xemacs)
                        type="Development;TextEditor"
                    ;;
                esac
            ;;
            dev)
                type="Development"
            ;;
            games)
                case ${catmin} in 
                    action | fps)
                        type=ActionGame
                    ;;
                    arcade)
                        type=ArcadeGame
                    ;;
                    board)
                        type=BoardGame
                    ;;
                    emulation)
                        type=Emulator
                    ;;
                    kids)
                        type=KidsGame
                    ;;
                    puzzle)
                        type=LogicGame
                    ;;
                    roguelike)
                        type=RolePlaying
                    ;;
                    rpg)
                        type=RolePlaying
                    ;;
                    simulation)
                        type=Simulation
                    ;;
                    sports)
                        type=SportsGame
                    ;;
                    strategy)
                        type=StrategyGame
                    ;;
                esac;
                type="Game;${type}"
            ;;
            gnome)
                type="Gnome;GTK"
            ;;
            kde)
                type="KDE;Qt"
            ;;
            mail)
                type="Network;Email"
            ;;
            media)
                case ${catmin} in 
                    gfx)
                        type=Graphics
                    ;;
                    *)
                        case ${catmin} in 
                            radio)
                                type=Tuner
                            ;;
                            sound)
                                type=Audio
                            ;;
                            tv)
                                type=TV
                            ;;
                            video)
                                type=Video
                            ;;
                        esac;
                        type="AudioVideo;${type}"
                    ;;
                esac
            ;;
            net)
                case ${catmin} in 
                    dialup)
                        type=Dialup
                    ;;
                    ftp)
                        type=FileTransfer
                    ;;
                    im)
                        type=InstantMessaging
                    ;;
                    irc)
                        type=IRCClient
                    ;;
                    mail)
                        type=Email
                    ;;
                    news)
                        type=News
                    ;;
                    nntp)
                        type=News
                    ;;
                    p2p)
                        type=FileTransfer
                    ;;
                    voip)
                        type=Telephony
                    ;;
                esac;
                type="Network;${type}"
            ;;
            sci)
                case ${catmin} in 
                    astro*)
                        type=Astronomy
                    ;;
                    bio*)
                        type=Biology
                    ;;
                    calc*)
                        type=Calculator
                    ;;
                    chem*)
                        type=Chemistry
                    ;;
                    elec*)
                        type=Electronics
                    ;;
                    geo*)
                        type=Geology
                    ;;
                    math*)
                        type=Math
                    ;;
                    physics)
                        type=Physics
                    ;;
                    visual*)
                        type=DataVisualization
                    ;;
                esac;
                type="Education;Science;${type}"
            ;;
            sys)
                type="System"
            ;;
            www)
                case ${catmin} in 
                    client)
                        type=WebBrowser
                    ;;
                esac;
                type="Network;${type}"
            ;;
            *)
                type=
            ;;
        esac;
    fi;
    local slot=${SLOT%/*};
    if [[ ${slot} == "0" ]]; then
        local desktop_name="${PN}";
    else
        local desktop_name="${PN}-${slot}";
    fi;
    local desktop="${T}/$(echo ${exec} | sed 
's:[[:space:]/:]:_:g')-${desktop_name}.desktop";
    type=${type%;}${type:+;};
    if [[ -n ${icon} && ${icon} != /* ]] && [[ ${icon} == *.xpm || ${icon} == 
*.png || ${icon} == *.svg ]]; then
        ewarn "As described in the Icon Theme Specification, icon file 
extensions are not";
        ewarn "allowed in .desktop files if the value is not an absolute path.";
        icon=${icon%.*};
    fi;
    cat > "${desktop}"  <<-EOF
[Desktop Entry]
Name=${name}
Type=Application
Comment=${DESCRIPTION}
Exec=${exec}
TryExec=${exec%% *}
Icon=${icon}
Categories=${type}
EOF

    if [[ ${fields:-=} != *=* ]]; then
        ewarn "make_desktop_entry: update your 5th arg to read Path=${fields}";
        fields="Path=${fields}";
    fi;
    [[ -n ${fields} ]] && printf '%b\n' "${fields}" >> "${desktop}";
    ( insinto /usr/share/applications;
    doins "${desktop}" ) || die "installing desktop file failed"
}
make_session_desktop () 
{ 
    [[ -z $1 ]] && eerror "$0: You must specify the title" && return 1;
    [[ -z $2 ]] && eerror "$0: You must specify the command" && return 1;
    local title=$1;
    local command=$2;
    local desktop=${T}/${wm:-${PN}}.desktop;
    shift 2;
    cat > "${desktop}"  <<-EOF
[Desktop Entry]
Name=${title}
Comment=This session logs you into ${title}
Exec=${command} $*
TryExec=${command}
Type=XSession
EOF

    ( insinto /usr/share/xsessions;
    doins "${desktop}" )
}
make_wrapper () 
{ 
    local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5;
    local tmpwrapper=$(emktemp);
    has "${EAPI:-0}" 0 1 2 && local EPREFIX="";
    ( echo '#!/bin/sh';
    [[ -n ${chdir} ]] && printf 'cd "%s"\n' "${EPREFIX}${chdir}";
    if [[ -n ${libdir} ]]; then
        local var;
        if [[ ${CHOST} == *-darwin* ]]; then
            var=DYLD_LIBRARY_PATH;
        else
            var=LD_LIBRARY_PATH;
        fi;
        cat  <<-EOF
if [ "\${${var}+set}" = "set" ] ; then
export ${var}="\${${var}}:${EPREFIX}${libdir}"
else
export ${var}="${EPREFIX}${libdir}"
fi
EOF

    fi
    printf 'exec %s "$@"\n' "${bin/#\//${EPREFIX}/}" ) > "${tmpwrapper}";
    chmod go+rx "${tmpwrapper}";
    if [[ -n ${path} ]]; then
        ( exeinto "${path}";
        newexe "${tmpwrapper}" "${wrapper}" ) || die;
    else
        newbin "${tmpwrapper}" "${wrapper}" || die;
    fi
}
multilib_env () 
{ 
    local CTARGET=${1:-${CTARGET}};
    local cpu=${CTARGET%%*-};
    case ${cpu} in 
        aarch64*)
            export CFLAGS_arm=${CFLAGS_arm-};
            case ${cpu} in 
                aarch64*be)
                    export CHOST_arm="armv8b-${CTARGET#*-}"
                ;;
                *)
                    export CHOST_arm="armv8l-${CTARGET#*-}"
                ;;
            esac;
            CHOST_arm=${CHOST_arm/%-gnu/-gnueabi};
            export CTARGET_arm=${CHOST_arm};
            export LIBDIR_arm="lib";
            export CFLAGS_arm64=${CFLAGS_arm64-};
            export CHOST_arm64=${CTARGET};
            export CTARGET_arm64=${CHOST_arm64};
            export LIBDIR_arm64="lib64";
            : ${MULTILIB_ABIS=arm64};
            : ${DEFAULT_ABI=arm64}
        ;;
        x86_64*)
            export CFLAGS_x86=${CFLAGS_x86--m32};
            export CHOST_x86=${CTARGET/x86_64/i686};
            CHOST_x86=${CHOST_x86/%-gnux32/-gnu};
            export CTARGET_x86=${CHOST_x86};
            if [[ ${SYMLINK_LIB} == "yes" ]]; then
                export LIBDIR_x86="lib32";
            else
                export LIBDIR_x86="lib";
            fi;
            export CFLAGS_amd64=${CFLAGS_amd64--m64};
            export CHOST_amd64=${CTARGET/%-gnux32/-gnu};
            export CTARGET_amd64=${CHOST_amd64};
            export LIBDIR_amd64="lib64";
            export CFLAGS_x32=${CFLAGS_x32--mx32};
            export CHOST_x32=${CTARGET/%-gnu/-gnux32};
            export CTARGET_x32=${CHOST_x32};
            export LIBDIR_x32="libx32";
            case ${CTARGET} in 
                *-gnux32)
                    : ${MULTILIB_ABIS=x32 amd64 x86};
                    : ${DEFAULT_ABI=x32}
                ;;
                *)
                    : ${MULTILIB_ABIS=amd64 x86};
                    : ${DEFAULT_ABI=amd64}
                ;;
            esac
        ;;
        mips64*)
            export CFLAGS_o32=${CFLAGS_o32--mabi=32};
            export CHOST_o32=${CTARGET/mips64/mips};
            export CTARGET_o32=${CHOST_o32};
            export LIBDIR_o32="lib";
            export CFLAGS_n32=${CFLAGS_n32--mabi=n32};
            export CHOST_n32=${CTARGET};
            export CTARGET_n32=${CHOST_n32};
            export LIBDIR_n32="lib32";
            export CFLAGS_n64=${CFLAGS_n64--mabi=64};
            export CHOST_n64=${CTARGET};
            export CTARGET_n64=${CHOST_n64};
            export LIBDIR_n64="lib64";
            : ${MULTILIB_ABIS=n64 n32 o32};
            : ${DEFAULT_ABI=n32}
        ;;
        powerpc64*)
            export CFLAGS_ppc=${CFLAGS_ppc--m32};
            export CHOST_ppc=${CTARGET/powerpc64/powerpc};
            export CTARGET_ppc=${CHOST_ppc};
            export LIBDIR_ppc="lib";
            export CFLAGS_ppc64=${CFLAGS_ppc64--m64};
            export CHOST_ppc64=${CTARGET};
            export CTARGET_ppc64=${CHOST_ppc64};
            export LIBDIR_ppc64="lib64";
            : ${MULTILIB_ABIS=ppc64 ppc};
            : ${DEFAULT_ABI=ppc64}
        ;;
        s390x*)
            export CFLAGS_s390=${CFLAGS_s390--m31};
            export CHOST_s390=${CTARGET/s390x/s390};
            export CTARGET_s390=${CHOST_s390};
            export LIBDIR_s390="lib";
            export CFLAGS_s390x=${CFLAGS_s390x--m64};
            export CHOST_s390x=${CTARGET};
            export CTARGET_s390x=${CHOST_s390x};
            export LIBDIR_s390x="lib64";
            : ${MULTILIB_ABIS=s390x s390};
            : ${DEFAULT_ABI=s390x}
        ;;
        sparc64*)
            export CFLAGS_sparc32=${CFLAGS_sparc32--m32};
            export CHOST_sparc32=${CTARGET/sparc64/sparc};
            export CTARGET_sparc32=${CHOST_sparc32};
            export LIBDIR_sparc32="lib";
            export CFLAGS_sparc64=${CFLAGS_sparc64--m64};
            export CHOST_sparc64=${CTARGET};
            export CTARGET_sparc64=${CHOST_sparc64};
            export LIBDIR_sparc64="lib64";
            : ${MULTILIB_ABIS=sparc64 sparc32};
            : ${DEFAULT_ABI=sparc64}
        ;;
        *)
            : ${MULTILIB_ABIS=default};
            : ${DEFAULT_ABI=default}
        ;;
    esac;
    export MULTILIB_ABIS DEFAULT_ABI
}
multilib_toolchain_setup () 
{ 
    local v vv;
    export ABI=$1;
    if [[ ${_DEFAULT_ABI_SAVED} == "true" ]]; then
        for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH};
        do
            vv="_abi_saved_${v}";
            [[ ${!vv+set} == "set" ]] && export ${v}="${!vv}" || unset ${v};
            unset ${vv};
        done;
        unset _DEFAULT_ABI_SAVED;
    fi;
    if [[ ${ABI} != ${DEFAULT_ABI} ]]; then
        for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH};
        do
            vv="_abi_saved_${v}";
            [[ ${!v+set} == "set" ]] && export ${vv}="${!v}" || unset ${vv};
        done;
        export _DEFAULT_ABI_SAVED="true";
        if [[ ${CBUILD} == "${CHOST}" ]]; then
            export CBUILD=$(get_abi_CHOST $1);
        fi;
        export CHOST=$(get_abi_CHOST ${DEFAULT_ABI});
        export CC="$(tc-getCC) $(get_abi_CFLAGS)";
        export CXX="$(tc-getCXX) $(get_abi_CFLAGS)";
        export F77="$(tc-getF77) $(get_abi_CFLAGS)";
        export FC="$(tc-getFC) $(get_abi_CFLAGS)";
        export LD="$(tc-getLD) $(get_abi_LDFLAGS)";
        export CHOST=$(get_abi_CHOST $1);
        export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig;
        export PKG_CONFIG_PATH=${EPREFIX}/usr/share/pkgconfig;
    fi
}
newicon () 
{ 
    _iconins ${FUNCNAME} "$@"
}
newmenu () 
{ 
    ( insinto /usr/share/applications;
    newins "$@" )
}
number_abis () 
{ 
    set -- `get_install_abis`;
    echo $#
}
optfeature () 
{ 
    debug-print-function ${FUNCNAME} "$@";
    local i j msg;
    local desc=$1;
    local flag=0;
    shift;
    for i in "$@";
    do
        for j in ${i};
        do
            if has_version "${j}"; then
                flag=1;
            else
                flag=0;
                break;
            fi;
        done;
        if [[ ${flag} -eq 1 ]]; then
            break;
        fi;
    done;
    if [[ ${flag} -eq 0 ]]; then
        for i in "$@";
        do
            msg=" ";
            for j in ${i};
            do
                msg+=" ${j} and";
            done;
            msg="${msg:0: -4} for ${desc}";
            elog "${msg}";
        done;
    fi
}
path_exists () 
{ 
    local opt=$1;
    [[ ${opt} == -[ao] ]] && shift || opt="-a";
    [[ $# -eq 0 ]] && return 1;
    local p r=0;
    for p in "$@";
    do
        [[ -e ${p} ]];
        : $(( r += $? ));
    done;
    case ${opt} in 
        -a)
            return $(( r != 0 ))
        ;;
        -o)
            return $(( r == $# ))
        ;;
    esac
}
pkg_nofetch () 
{ 
    default
}
pkg_postinst () 
{ 
    texlive-module_pkg_postinst "$@"
}
pkg_postrm () 
{ 
    texlive-module_pkg_postrm "$@"
}
preserve_old_lib () 
{ 
    if [[ ${EBUILD_PHASE} != "preinst" ]]; then
        eerror "preserve_old_lib() must be called from pkg_preinst() only";
        die "Invalid preserve_old_lib() usage";
    fi;
    [[ -z $1 ]] && die "Usage: preserve_old_lib <library to preserve> [more 
libraries to preserve]";
    has preserve-libs ${FEATURES} && return 0;
    has "${EAPI:-0}" 0 1 2 && local ED=${D} EROOT=${ROOT};
    local lib dir;
    for lib in "$@";
    do
        [[ -e ${EROOT}/${lib} ]] || continue;
        dir=${lib%/*};
        dodir ${dir} || die "dodir ${dir} failed";
        cp "${EROOT}"/${lib} "${ED}"/${lib} || die "cp ${lib} failed";
        touch "${ED}"/${lib};
    done
}
preserve_old_lib_notify () 
{ 
    if [[ ${EBUILD_PHASE} != "postinst" ]]; then
        eerror "preserve_old_lib_notify() must be called from pkg_postinst() 
only";
        die "Invalid preserve_old_lib_notify() usage";
    fi;
    has preserve-libs ${FEATURES} && return 0;
    has "${EAPI:-0}" 0 1 2 && local EROOT=${ROOT};
    local lib notice=0;
    for lib in "$@";
    do
        [[ -e ${EROOT}/${lib} ]] || continue;
        if [[ ${notice} -eq 0 ]]; then
            notice=1;
            ewarn "Old versions of installed libraries were detected on your 
system.";
            ewarn "In order to avoid breaking packages that depend on these old 
libs,";
            ewarn "the libraries are not being removed.  You need to run 
revdep-rebuild";
            ewarn "in order to remove these old dependencies.  If you do not 
have this";
            ewarn "helper program, simply emerge the 'gentoolkit' package.";
            ewarn;
        fi;
        ewarn "  # revdep-rebuild --library '${lib}' && rm '${lib}'";
    done
}
prune_libtool_files () 
{ 
    debug-print-function ${FUNCNAME} "$@";
    local removing_all removing_modules opt;
    for opt in "$@";
    do
        case "${opt}" in 
            --all)
                removing_all=1;
                removing_modules=1
            ;;
            --modules)
                removing_modules=1
            ;;
            *)
                die "Invalid argument to ${FUNCNAME}(): ${opt}"
            ;;
        esac;
    done;
    local f;
    local queue=();
    while IFS= read -r -d '' f; do
        local archivefile=${f/%.la/.a};
        if ! sed -n -e '/^# Generated by .*libtool/q0;4q1' "${f}"; then
            continue;
        fi;
        [[ ${f} != ${archivefile} ]] || die 'regex sanity check failed';
        local reason= pkgconfig_scanned=;
        local snotlink=$(sed -n -e 's:^shouldnotlink=::p' "${f}");
        if [[ ${snotlink} == yes ]]; then
            if [[ -f ${archivefile} ]]; then
                einfo "Removing unnecessary ${archivefile#${D%/}} (static 
plugin)";
                queue+=("${archivefile}");
            fi;
            if [[ -n ${removing_modules} ]]; then
                reason='module';
            fi;
        else
            if [[ -n ${removing_all} ]]; then
                reason='requested';
            else
                if [[ ! -f ${archivefile} ]]; then
                    reason='no static archive';
                else
                    if [[ ! -n $(sed -nre                                       
"s/^(dependency_libs|inherited_linker_flags)='(.*)'$/\2/p"                      
                "${f}") ]]; then
                        reason='no libs & flags';
                    else
                        if [[ ! -n ${pkgconfig_scanned} ]]; then
                            local pc_libs=();
                            if [[ ! -n ${removing_all} ]]; then
                                local pc;
                                local tf=${T}/prune-lt-files.pc;
                                local pkgconf=$(tc-getPKG_CONFIG);
                                while IFS= read -r -d '' pc; do
                                    local arg libs;
                                    if ${pkgconf} --exists "${pc}" &> 
/dev/null; then
                                        sed -e '/^Requires:/d' "${pc}" > 
"${tf}";
                                        libs=$(${pkgconf} --libs "${tf}");
                                    else
                                        libs=$(sed -ne 's/^Libs://p' "${pc}");
                                    fi;
                                    for arg in ${libs};
                                    do
                                        if [[ ${arg} == -l* ]]; then
                                            if [[ ${arg} == '*$*' ]]; then
                                                eerror "${FUNCNAME}: variable 
substitution likely failed in ${pc}";
                                                eerror "(arg: ${arg})";
                                                eerror "Most likely, you need 
to add virtual/pkgconfig to DEPEND.";
                                                die "${FUNCNAME}: unsubstituted 
variable found in .pc";
                                            fi;
                                            pc_libs+=(lib${arg#-l}.la);
                                        fi;
                                    done;
                                done < <(find "${D}" -type f -name '*.pc' 
-print0);
                                rm -f "${tf}";
                            fi;
                            pkgconfig_scanned=1;
                        fi;
                        has "${f##*/}" "${pc_libs[@]}" && reason='covered by 
.pc';
                    fi;
                fi;
            fi;
        fi;
        if [[ -n ${reason} ]]; then
            einfo "Removing unnecessary ${f#${D%/}} (${reason})";
            queue+=("${f}");
        fi;
    done < <(find "${D}" -xtype f -name '*.la' -print0);
    if [[ -n ${queue[@]} ]]; then
        rm -f "${queue[@]}";
    fi
}
src_compile () 
{ 
    texlive-module_src_compile "$@"
}
src_configure () 
{ 
    default
}
src_install () 
{ 
    texlive-module_src_install "$@"
}
src_prepare () 
{ 
    texlive-module_src_prepare "$@"
}
src_test () 
{ 
    default
}
src_unpack () 
{ 
    texlive-module_src_unpack "$@"
}
strip-linguas () 
{ 
    local ls newls nols;
    if [[ $1 == "-i" ]] || [[ $1 == "-u" ]]; then
        local op=$1;
        shift;
        ls=$(find "$1" -name '*.po' -exec basename {} .po ';');
        shift;
        local d f;
        for d in "$@";
        do
            if [[ ${op} == "-u" ]]; then
                newls=${ls};
            else
                newls="";
            fi;
            for f in $(find "$d" -name '*.po' -exec basename {} .po ';');
            do
                if [[ ${op} == "-i" ]]; then
                    has ${f} ${ls} && newls="${newls} ${f}";
                else
                    has ${f} ${ls} || newls="${newls} ${f}";
                fi;
            done;
            ls=${newls};
        done;
    else
        ls="$@";
    fi;
    nols="";
    newls="";
    for f in ${LINGUAS};
    do
        if has ${f} ${ls}; then
            newls="${newls} ${f}";
        else
            nols="${nols} ${f}";
        fi;
    done;
    [[ -n ${nols} ]] && einfo "Sorry, but ${PN} does not support the LINGUAS:" 
${nols};
    export LINGUAS=${newls:1}
}
tc-arch () 
{ 
    tc-ninja_magic_to_arch portage "$@"
}
tc-arch-kernel () 
{ 
    tc-ninja_magic_to_arch kern "$@"
}
tc-check-openmp () 
{ 
    if ! tc-has-openmp; then
        eerror "Your current compiler does not support OpenMP!";
        if tc-is-gcc; then
            eerror "Enable OpenMP support by building sys-devel/gcc with 
USE=\"openmp\".";
        else
            if tc-is-clang; then
                eerror "OpenMP support in sys-devel/clang is provided by 
sys-libs/libomp.";
            fi;
        fi;
        die "Active compiler does not have required support for OpenMP";
    fi
}
tc-enables-pie () 
{ 
    local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null 
| grep '^true$'
                #if defined(__PIE__)
                true
                #endif
                EOF
        )";
    [[ ${ret} == true ]]
}
tc-enables-ssp () 
{ 
    local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null 
| grep '^true$'
                #if defined(__SSP__) || defined(__SSP_STRONG__) || 
defined(__SSP_ALL__)
                true
                #endif
                EOF
        )";
    [[ ${ret} == true ]]
}
tc-enables-ssp-all () 
{ 
    local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null 
| grep '^true$'
                #if defined(__SSP_ALL__)
                true
                #endif
                EOF
        )";
    [[ ${ret} == true ]]
}
tc-enables-ssp-strong () 
{ 
    local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null 
| grep '^true$'
                #if defined(__SSP_STRONG__) || defined(__SSP_ALL__)
                true
                #endif
                EOF
        )";
    [[ ${ret} == true ]]
}
tc-endian () 
{ 
    local host=$1;
    [[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
    host=${host%%-*};
    case ${host} in 
        aarch64*be)
            echo big
        ;;
        aarch64)
            echo little
        ;;
        alpha*)
            echo little
        ;;
        arm*b*)
            echo big
        ;;
        arm*)
            echo little
        ;;
        cris*)
            echo little
        ;;
        hppa*)
            echo big
        ;;
        i?86*)
            echo little
        ;;
        ia64*)
            echo little
        ;;
        m68*)
            echo big
        ;;
        mips*l*)
            echo little
        ;;
        mips*)
            echo big
        ;;
        powerpc*le)
            echo little
        ;;
        powerpc*)
            echo big
        ;;
        s390*)
            echo big
        ;;
        sh*b*)
            echo big
        ;;
        sh*)
            echo little
        ;;
        sparc*)
            echo big
        ;;
        x86_64*)
            echo little
        ;;
        *)
            echo wtf
        ;;
    esac
}
tc-env_build () 
{ 
    tc-export_build_env;
    CFLAGS=${BUILD_CFLAGS} CXXFLAGS=${BUILD_CXXFLAGS} 
CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} AR=$(tc-getBUILD_AR) 
AS=$(tc-getBUILD_AS) CC=$(tc-getBUILD_CC) CPP=$(tc-getBUILD_CPP) 
CXX=$(tc-getBUILD_CXX) LD=$(tc-getBUILD_LD) NM=$(tc-getBUILD_NM) 
PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG) RANLIB=$(tc-getBUILD_RANLIB) "$@"
}
tc-export () 
{ 
    local var;
    for var in "$@";
    do
        [[ $(type -t "tc-get${var}") != "function" ]] && die "tc-export: 
invalid export variable '${var}'";
        "tc-get${var}" > /dev/null;
    done
}
tc-export_build_env () 
{ 
    tc-export "$@";
    : ${BUILD_CFLAGS:=-O1 -pipe};
    : ${BUILD_CXXFLAGS:=-O1 -pipe};
    : ${BUILD_CPPFLAGS:= };
    : ${BUILD_LDFLAGS:= };
    export BUILD_{C,CXX,CPP,LD}FLAGS;
    local v;
    for v in BUILD_{C,CXX,CPP,LD}FLAGS;
    do
        export ${v#BUILD_}_FOR_BUILD="${!v}";
    done
}
tc-get-compiler-type () 
{ 
    local code='
#if defined(__PATHSCALE__)
        HAVE_PATHCC
#elif defined(__clang__)
        HAVE_CLANG
#elif defined(__GNUC__)
        HAVE_GCC
#endif
';
    local res=$($(tc-getCPP "$@") -E -P - <<<"${code}");
    case ${res} in 
        *HAVE_PATHCC*)
            echo pathcc
        ;;
        *HAVE_CLANG*)
            echo clang
        ;;
        *HAVE_GCC*)
            echo gcc
        ;;
        *)
            echo unknown
        ;;
    esac
}
tc-getAR () 
{ 
    tc-getPROG AR ar "$@"
}
tc-getAS () 
{ 
    tc-getPROG AS as "$@"
}
tc-getBUILD_AR () 
{ 
    tc-getBUILD_PROG AR ar "$@"
}
tc-getBUILD_AS () 
{ 
    tc-getBUILD_PROG AS as "$@"
}
tc-getBUILD_CC () 
{ 
    tc-getBUILD_PROG CC gcc "$@"
}
tc-getBUILD_CPP () 
{ 
    tc-getBUILD_PROG CPP "$(tc-getBUILD_CC) -E" "$@"
}
tc-getBUILD_CXX () 
{ 
    tc-getBUILD_PROG CXX g++ "$@"
}
tc-getBUILD_LD () 
{ 
    tc-getBUILD_PROG LD ld "$@"
}
tc-getBUILD_NM () 
{ 
    tc-getBUILD_PROG NM nm "$@"
}
tc-getBUILD_OBJCOPY () 
{ 
    tc-getBUILD_PROG OBJCOPY objcopy "$@"
}
tc-getBUILD_PKG_CONFIG () 
{ 
    tc-getBUILD_PROG PKG_CONFIG pkg-config "$@"
}
tc-getBUILD_PROG () 
{ 
    local vars="BUILD_$1 $1_FOR_BUILD HOST$1";
    tc-is-cross-compiler || vars+=" $1";
    _tc-getPROG CBUILD "${vars}" "${@:2}"
}
tc-getBUILD_RANLIB () 
{ 
    tc-getBUILD_PROG RANLIB ranlib "$@"
}
tc-getBUILD_STRIP () 
{ 
    tc-getBUILD_PROG STRIP strip "$@"
}
tc-getCC () 
{ 
    tc-getPROG CC gcc "$@"
}
tc-getCPP () 
{ 
    tc-getPROG CPP "${CC:-gcc} -E" "$@"
}
tc-getCXX () 
{ 
    tc-getPROG CXX g++ "$@"
}
tc-getDLLWRAP () 
{ 
    tc-getPROG DLLWRAP dllwrap "$@"
}
tc-getF77 () 
{ 
    tc-getPROG F77 gfortran "$@"
}
tc-getFC () 
{ 
    tc-getPROG FC gfortran "$@"
}
tc-getGCJ () 
{ 
    tc-getPROG GCJ gcj "$@"
}
tc-getGO () 
{ 
    tc-getPROG GO gccgo "$@"
}
tc-getLD () 
{ 
    tc-getPROG LD ld "$@"
}
tc-getNM () 
{ 
    tc-getPROG NM nm "$@"
}
tc-getOBJCOPY () 
{ 
    tc-getPROG OBJCOPY objcopy "$@"
}
tc-getOBJDUMP () 
{ 
    tc-getPROG OBJDUMP objdump "$@"
}
tc-getPKG_CONFIG () 
{ 
    tc-getPROG PKG_CONFIG pkg-config "$@"
}
tc-getPROG () 
{ 
    _tc-getPROG CHOST "$@"
}
tc-getRANLIB () 
{ 
    tc-getPROG RANLIB ranlib "$@"
}
tc-getRC () 
{ 
    tc-getPROG RC windres "$@"
}
tc-getSTRIP () 
{ 
    tc-getPROG STRIP strip "$@"
}
tc-has-openmp () 
{ 
    local base="${T}/test-tc-openmp";
    cat > "${base}.c"  <<-EOF
#include <omp.h>
int main() {
int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
nthreads = omp_get_num_threads(); ret += tid + nthreads;
}
return ret;
}
EOF

    $(tc-getCC "$@") -fopenmp "${base}.c" -o "${base}" &> /dev/null;
    local ret=$?;
    rm -f "${base}"*;
    return ${ret}
}
tc-has-tls () 
{ 
    local base="${T}/test-tc-tls";
    cat > "${base}.c"  <<-EOF
int foo(int *i) {
static __thread int j = 0;
return *i ? j : *i;
}
EOF

    local flags;
    case $1 in 
        -s)
            flags="-S"
        ;;
        -c)
            flags="-c"
        ;;
        -l)

        ;;
        -*)
            die "Usage: tc-has-tls [-c|-l] [toolchain prefix]"
        ;;
    esac;
    : ${flags:=-fPIC -shared -Wl,-z,defs};
    [[ $1 == -* ]] && shift;
    $(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" &> /dev/null;
    local ret=$?;
    rm -f "${base}"*;
    return ${ret}
}
tc-is-clang () 
{ 
    [[ $(tc-get-compiler-type) == clang ]]
}
tc-is-cross-compiler () 
{ 
    [[ ${CBUILD:-${CHOST}} != ${CHOST} ]]
}
tc-is-gcc () 
{ 
    [[ $(tc-get-compiler-type) == gcc ]]
}
tc-is-softfloat () 
{ 
    local CTARGET=${CTARGET:-${CHOST}};
    case ${CTARGET} in 
        bfin* | h8300*)
            echo "only"
        ;;
        *)
            if [[ ${CTARGET//_/-} == *-softfloat-* ]]; then
                echo "yes";
            else
                if [[ ${CTARGET//_/-} == *-softfp-* ]]; then
                    echo "softfp";
                else
                    echo "no";
                fi;
            fi
        ;;
    esac
}
tc-is-static-only () 
{ 
    local host=${CTARGET:-${CHOST}};
    [[ ${host} == *-mint* ]]
}
tc-ld-disable-gold () 
{ 
    if ! tc-ld-is-gold "$@"; then
        return;
    fi;
    ewarn "Forcing usage of the BFD linker instead of GOLD";
    local ld=$(tc-getLD "$@");
    local bfd_ld="${ld%% *}.bfd";
    local path_ld=$(which "${bfd_ld}" 2>/dev/null);
    [[ -e ${path_ld} ]] && export LD=${bfd_ld};
    local major=$(gcc-major-version "$@");
    local minor=$(gcc-minor-version "$@");
    if [[ ${major} -lt 4 ]] || [[ ${major} -eq 4 && ${minor} -lt 8 ]]; then
        if [[ -e ${path_ld} ]]; then
            local d="${T}/bfd-linker";
            mkdir -p "${d}";
            ln -sf "${path_ld}" "${d}"/ld;
            export LDFLAGS="${LDFLAGS} -B${d}";
        else
            die "unable to locate a BFD linker to bypass gold";
        fi;
    else
        export LDFLAGS="${LDFLAGS} -fuse-ld=bfd";
    fi
}
tc-ld-is-gold () 
{ 
    local out;
    out=$($(tc-getLD "$@") --version 2>&1);
    if [[ ${out} == *"GNU gold"* ]]; then
        return 0;
    fi;
    local base="${T}/test-tc-gold";
    cat > "${base}.c"  <<-EOF
int main() { return 0; }
EOF

    out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1);
    rm -f "${base}"*;
    if [[ ${out} == *"GNU gold"* ]]; then
        return 0;
    fi;
    return 1
}
tc-ninja_magic_to_arch () 
{ 
    function ninj () 
    { 
        [[ ${type} == "kern" ]] && echo $1 || echo $2
    };
    local type=$1;
    local host=$2;
    [[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
    case ${host} in 
        aarch64*)
            echo arm64
        ;;
        alpha*)
            echo alpha
        ;;
        arm*)
            echo arm
        ;;
        avr*)
            ninj avr32 avr
        ;;
        bfin*)
            ninj blackfin bfin
        ;;
        c6x*)
            echo c6x
        ;;
        cris*)
            echo cris
        ;;
        frv*)
            echo frv
        ;;
        hexagon*)
            echo hexagon
        ;;
        hppa*)
            ninj parisc hppa
        ;;
        i?86*)
            if [[ ${type} == "kern" && ${host} == *freebsd* ]]; then
                echo i386;
            else
                echo x86;
            fi
        ;;
        ia64*)
            echo ia64
        ;;
        m68*)
            echo m68k
        ;;
        metag*)
            echo metag
        ;;
        microblaze*)
            echo microblaze
        ;;
        mips*)
            echo mips
        ;;
        nios2*)
            echo nios2
        ;;
        nios*)
            echo nios
        ;;
        or1k | or32*)
            echo openrisc
        ;;
        powerpc*)
            if [[ ${type} == "kern" ]]; then
                echo powerpc;
            else
                if [[ ${host} == powerpc64* ]]; then
                    echo ppc64;
                else
                    echo ppc;
                fi;
            fi
        ;;
        riscv*)
            echo riscv
        ;;
        s390*)
            echo s390
        ;;
        score*)
            echo score
        ;;
        sh64*)
            ninj sh64 sh
        ;;
        sh*)
            echo sh
        ;;
        sparc64*)
            ninj sparc64 sparc
        ;;
        sparc*)
            [[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo 
sparc
        ;;
        tile*)
            echo tile
        ;;
        vax*)
            echo vax
        ;;
        x86_64*freebsd*)
            echo amd64
        ;;
        x86_64*)
            if [[ ${type} == "kern" ]]; then
                echo x86;
            else
                echo amd64;
            fi
        ;;
        xtensa*)
            echo xtensa
        ;;
        *)
            echo unknown
        ;;
    esac
}
tc-stack-grows-down () 
{ 
    case ${ARCH} in 
        hppa | metag)
            return 1
        ;;
    esac;
    return 0
}
texlive-common_do_symlinks () 
{ 
    while [ $# != 0 ]; do
        case $1 in 
            cont-?? | metafun | mptopdf)
                einfo "Symlink $1 skipped (special case)"
            ;;
            mf)
                einfo "Symlink $1 -> $2 skipped (texlive-core takes care of it)"
            ;;
            *)
                if [ $1 = $2 ]; then
                    einfo "Symlink $1 -> $2 skipped";
                else
                    if [ -e "${ED}/usr/bin/$1" -o -L "${ED}/usr/bin/$1" ]; then
                        einfo "Symlink $1 skipped (file exists)";
                    else
                        einfo "Making symlink from $1 to $2";
                        dosym $2 /usr/bin/$1;
                    fi;
                fi
            ;;
        esac;
        shift;
        shift;
    done
}
texlive-common_handle_config_files () 
{ 
    [ -d "${ED}${TEXMF_PATH}" ] || return;
    cd "${ED}${TEXMF_PATH}";
    for f in $(find . -name '*.cnf' -type f -o -name '*.cfg' -type f | sed -e 
"s:\./::g");
    do
        if [ "${f#*config}" != "${f}" -o "${f#doc}" != "${f}" -o "${f#source}" 
!= "${f}" -o "${f#tex}" != "${f}" ]; then
            continue;
        fi;
        dodir /etc/texmf/$(dirname ${f}).d;
        einfo "Moving (and symlinking) ${EPREFIX}${TEXMF_PATH}/${f} to 
${EPREFIX}/etc/texmf/$(dirname ${f}).d";
        mv "${ED}/${TEXMF_PATH}/${f}" "${ED}/etc/texmf/$(dirname ${f}).d" || 
die "mv ${f} failed.";
        dosym /etc/texmf/$(dirname ${f}).d/$(basename ${f}) ${TEXMF_PATH}/${f};
    done
}
texlive-common_is_file_present_in_texmf () 
{ 
    local mark="${T}/$1.found";
    [ -d texmf ] && find texmf -name $1 -exec touch "${mark}" \;;
    [ -d texmf-dist ] && find texmf-dist -name $1 -exec touch "${mark}" \;;
    [ -f "${mark}" ]
}
texlive-module_add_format () 
{ 
    local name engine mode patterns options;
    eval $@;
    einfo "Appending to format.${PN}.cnf for $@";
    [ -d texmf-dist/fmtutil ] || mkdir -p texmf-dist/fmtutil;
    [ -f texmf-dist/fmtutil/format.${PN}.cnf ] || { 
        echo "# Generated for ${PN}     by texlive-module.eclass" > 
texmf-dist/fmtutil/format.${PN}.cnf
    };
    [ -n "${TEXLIVE_MODULE_OPTIONAL_ENGINE}" ] && has ${engine} 
${TEXLIVE_MODULE_OPTIONAL_ENGINE} && use !${engine} && mode="disabled";
    if [ "${mode}" = "disabled" ]; then
        printf "#! " >> texmf-dist/fmtutil/format.${PN}.cnf;
    fi;
    [ -z "${patterns}" ] && patterns="-";
    printf "${name}\t${engine}\t${patterns}\t${options}\n" >> 
texmf-dist/fmtutil/format.${PN}.cnf
}
texlive-module_make_language_dat_lines () 
{ 
    local lefthyphenmin righthyphenmin synonyms name file file_patterns 
file_exceptions luaspecial;
    eval $@;
    einfo "Generating language.dat entry for $@";
    echo "$name $file" >> "${S}/language.${PN}.dat";
    if [ -n "$synonyms" ]; then
        for i in $(echo $synonyms | tr ',' ' ');
        do
            einfo "Generating language.dat synonym $i for $@";
            echo "=$i" >> "${S}/language.${PN}.dat";
        done;
    fi
}
texlive-module_make_language_def_lines () 
{ 
    local lefthyphenmin righthyphenmin synonyms name file file_patterns 
file_exceptions luaspecial;
    eval $@;
    einfo "Generating language.def entry for $@";
    [ -z "$lefthyphenmin" ] && lefthyphenmin="2";
    [ -z "$righthyphenmin" ] && righthyphenmin="3";
    echo "\\addlanguage{$name}{$file}{}{$lefthyphenmin}{$righthyphenmin}" >> 
"${S}/language.${PN}.def";
    if [ -n "$synonyms" ]; then
        for i in $(echo $synonyms | tr ',' ' ');
        do
            einfo "Generating language.def synonym $i for $@";
            echo "\\addlanguage{$i}{$file}{}{$lefthyphenmin}{$righthyphenmin}" 
>> "${S}/language.${PN}.def";
        done;
    fi
}
texlive-module_make_language_lua_lines () 
{ 
    local lefthyphenmin righthyphenmin synonyms name file file_patterns 
file_exceptions luaspecial;
    local dest="${S}/language.${PN}.dat.lua";
    eval $@;
    [ -z "$lefthyphenmin" ] && lefthyphenmin="2";
    [ -z "$righthyphenmin" ] && righthyphenmin="3";
    einfo "Generating language.dat.lua entry for $@";
    printf "\t['%s'] = {\n" "$name" >> "$dest";
    printf "\t\tloader = '%s',\n" "$file" >> "$dest";
    printf "\t\tlefthyphenmin = %s,\n\t\trighthyphenmin = %s,\n" 
"$lefthyphenmin" "$righthyphenmin" >> "$dest";
    printf "\t\tsynonyms = {%s },\n" 
"$(texlive-module_synonyms_to_language_lua_line "$synonyms")" >> "$dest";
    [ -n "$file_patterns" ] && printf "\t\tpatterns = '%s',\n" "$file_patterns" 
>> "$dest";
    [ -n "$file_exceptions" ] && printf "\t\thyphenation = '%s',\n" 
"$file_exceptions" >> "$dest";
    [ -n "$luaspecial" ] && printf "\t\tspecial = '%s',\n" "$luaspecial" >> 
"$dest";
    printf "\t},\n" >> "$dest"
}
texlive-module_pkg_postinst () 
{ 
    etexmf-update;
    [ -n "${TL_MODULE_INFORMATION}" ] && elog "${TL_MODULE_INFORMATION}"
}
texlive-module_pkg_postrm () 
{ 
    etexmf-update
}
texlive-module_src_compile () 
{ 
    for i in "${S}"/tlpkg/tlpobj/*;
    do
        grep '^execute ' "${i}" | sed -e 's/^execute //' | tr ' \t' '##' >> 
"${T}/jobs";
    done;
    for i in $(<"${T}/jobs");
    do
        j="$(echo $i | tr '#' ' ')";
        command=${j%% *};
        parameter=${j#* };
        case "${command}" in 
            addMap)
                echo "Map ${parameter}" >> "${S}/${PN}.cfg"
            ;;
            addMixedMap)
                echo "MixedMap ${parameter}" >> "${S}/${PN}.cfg"
            ;;
            addKanjiMap)
                echo "KanjiMap ${parameter}" >> "${S}/${PN}.cfg"
            ;;
            addDvipsMap)
                echo "p +${parameter}" >> "${S}/${PN}-config.ps"
            ;;
            addDvipdfmMap)
                echo "f ${parameter}" >> "${S}/${PN}-config"
            ;;
            AddHyphen)
                texlive-module_make_language_def_lines "$parameter";
                texlive-module_make_language_dat_lines "$parameter";
                texlive-module_make_language_lua_lines "$parameter"
            ;;
            AddFormat)
                texlive-module_add_format "$parameter"
            ;;
            BuildFormat)
                einfo "Format $parameter already built."
            ;;
            BuildLanguageDat)
                einfo "Language file $parameter already generated."
            ;;
            *)
                die "No rule to proccess ${command}. Please file a bug."
            ;;
        esac;
    done;
    for i in texmf-dist/fmtutil/format*.cnf;
    do
        if [ -f "${i}" ]; then
            einfo "Building format ${i}";
            [ -d texmf-var ] || mkdir texmf-var;
            [ -d texmf-var/web2c ] || mkdir texmf-var/web2c;
            VARTEXFONTS="${T}/fonts" 
TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var" env -u TEXINPUTS fmtutil 
--cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all || die "failed to build 
format ${i}";
        fi;
    done;
    find . -name 'ls-R' -delete
}
texlive-module_src_install () 
{ 
    for i in texmf-dist/fmtutil/format*.cnf;
    do
        [ -f "${i}" ] && etexlinks "${i}";
    done;
    dodir /usr/share;
    if [ -z "${PN##*documentation*}" ] || use doc; then
        [ -d texmf-doc ] && cp -pR texmf-doc "${ED}/usr/share/";
    else
        [ -d texmf/doc ] && rm -rf texmf/doc;
        [ -d texmf-dist/doc ] && rm -rf texmf-dist/doc;
    fi;
    [ -d texmf ] && cp -pR texmf "${ED}/usr/share/";
    [ -d texmf-dist ] && cp -pR texmf-dist "${ED}/usr/share/";
    [ -d tlpkg ] && use source && cp -pR tlpkg "${ED}/usr/share/";
    insinto /var/lib/texmf;
    [ -d texmf-var ] && doins -r texmf-var/*;
    insinto /etc/texmf/updmap.d;
    [ -f "${S}/${PN}.cfg" ] && doins "${S}/${PN}.cfg";
    insinto /etc/texmf/dvips.d;
    [ -f "${S}/${PN}-config.ps" ] && doins "${S}/${PN}-config.ps";
    insinto /etc/texmf/dvipdfm/config;
    [ -f "${S}/${PN}-config" ] && doins "${S}/${PN}-config";
    if [ -f "${S}/language.${PN}.def" ]; then
        insinto /etc/texmf/language.def.d;
        doins "${S}/language.${PN}.def";
    fi;
    if [ -f "${S}/language.${PN}.dat" ]; then
        insinto /etc/texmf/language.dat.d;
        doins "${S}/language.${PN}.dat";
    fi;
    if [ -f "${S}/language.${PN}.dat.lua" ]; then
        insinto /etc/texmf/language.dat.lua.d;
        doins "${S}/language.${PN}.dat.lua";
    fi;
    [ -n "${TEXLIVE_MODULE_BINSCRIPTS}" ] && dobin_texmf_scripts 
${TEXLIVE_MODULE_BINSCRIPTS};
    if [ -n "${TEXLIVE_MODULE_BINLINKS}" ]; then
        for i in ${TEXLIVE_MODULE_BINLINKS};
        do
            [ -f "${ED}/usr/bin/${i%:*}" ] || die "Trying to install an invalid 
BINLINK. This should not happen. Please file a bug.";
            dosym ${i%:*} /usr/bin/${i#*:};
        done;
    fi;
    texlive-common_handle_config_files;
    TEXMF_PATH=${TEXMF_DIST_PATH} texlive-common_handle_config_files
}
texlive-module_src_prepare () 
{ 
    [[ ${#PATCHES[@]} -gt 0 ]] && epatch "${PATCHES[@]}";
    epatch_user
}
texlive-module_src_unpack () 
{ 
    unpack ${A};
    grep RELOC tlpkg/tlpobj/* | awk '{print $2}' | sed 's#^RELOC/##' > 
"${T}/reloclist";
    { 
        for i in $(<"${T}/reloclist");
        do
            dirname $i;
        done
    } | uniq > "${T}/dirlist";
    for i in $(<"${T}/dirlist");
    do
        [ -d "${RELOC_TARGET}/${i}" ] || mkdir -p "${RELOC_TARGET}/${i}";
    done;
    for i in $(<"${T}/reloclist");
    do
        mv "${i}" "${RELOC_TARGET}"/$(dirname "${i}") || die "failed to 
relocate ${i} to ${RELOC_TARGET}/$(dirname ${i})";
    done
}
texlive-module_synonyms_to_language_lua_line () 
{ 
    local prev="";
    for i in $(echo $@ | tr ',' ' ');
    do
        printf "${prev} '%s'" $i;
        prev=",";
    done
}
use_if_iuse () 
{ 
    in_iuse $1 || return 1;
    use $1
}
 * Package:    dev-texlive/texlive-basic-2017-r1
 * Repository: gentoo
 * Maintainer: aball...@gentoo.org t...@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
 * Applying texmfcnflua2017.patch ...
 [ ok ]
 * Appending to format.texlive-basic.cnf for name=luatex engine=luatex 
options="luatex.ini"   patterns=language.def,language.dat.lua   
fmttriggers=cm,etex,hyphen-base,knuth-lib,luatex,plain,tex-ini-files,unicode-data
 * Appending to format.texlive-basic.cnf for name=dviluatex engine=luatex 
options="dviluatex.ini"   patterns=language.def,language.dat.lua   
fmttriggers=cm,etex,hyphen-base,knuth-lib,luatex,plain,tex-ini-files,unicode-data
 * Appending to format.texlive-basic.cnf for name=luajittex engine=luajittex 
options="luatex.ini"   patterns=language.def,language.dat.lua   
fmttriggers=cm,etex,hyphen-base,knuth-lib,luatex,plain,tex-ini-files,unicode-data
 * Appending to format.texlive-basic.cnf for name=mf engine=mf-nowin           
options="-translate-file=cp227.tcx mf.ini"           fmttriggers=metafont
 * Appending to format.texlive-basic.cnf for name=pdftex engine=pdftex 
patterns=language.def           options="-translate-file=cp227.tcx 
*pdfetex.ini"           
fmttriggers=cm,etex,hyphen-base,knuth-lib,plain,tex-ini-files
 * Appending to format.texlive-basic.cnf for name=etex engine=pdftex 
patterns=language.def           options="-translate-file=cp227.tcx *etex.ini"   
        fmttriggers=cm,etex,hyphen-base,knuth-lib,plain
 * Appending to format.texlive-basic.cnf for name=pdfetex engine=pdftex 
patterns=language.def           options="-translate-file=cp227.tcx 
*pdfetex.ini"           
fmttriggers=cm,etex,hyphen-base,knuth-lib,plain,tex-ini-files
 * Appending to format.texlive-basic.cnf for name=tex engine=tex 
options="tex.ini"   fmttriggers=cm,hyphen-base,knuth-lib,plain
 * Building format texmf-dist/fmtutil/format.texlive-basic.cnf
fmtutil: fmtutil is using the following fmtutil.cnf files (in precedence order):
fmtutil:   texmf-dist/fmtutil/format.texlive-basic.cnf
fmtutil: fmtutil is using the following fmtutil.cnf file for writing changes:
fmtutil:   texmf-dist/fmtutil/format.texlive-basic.cnf
fmtutil [INFO]: writing formats under 
/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work/texmf-var/web2c
fmtutil [INFO]: --- remaking luatex with luatex
fmtutil [INFO]: --- remaking pdftex with pdftex
fmtutil [INFO]: --- remaking tex with tex
fmtutil [INFO]: --- remaking etex with pdftex
fmtutil [INFO]: --- remaking dviluatex with luatex
fmtutil [INFO]: --- remaking mf with mf-nowin
fmtutil [INFO]: --- remaking pdfetex with pdftex
fmtutil [WARNING]: inifile luatex.ini for luatex/luatex not found.
fmtutil [WARNING]: inifile pdfetex.ini for pdftex/pdftex not found.
fmtutil [WARNING]: inifile tex.ini for tex/tex not found.
fmtutil [WARNING]: inifile etex.ini for etex/pdftex not found.
fmtutil [WARNING]: inifile dviluatex.ini for dviluatex/luatex not found.
fmtutil [WARNING]: inifile mf.ini for mf/mf-nowin not found.
fmtutil [WARNING]: inifile pdfetex.ini for pdfetex/pdftex not found.
fmtutil [INFO]: Disabled formats: 1
fmtutil [INFO]: Failed to build: 7 (luatex/luatex pdftex/pdftex tex/tex 
pdftex/etex luatex/dviluatex mf-nowin/mf pdftex/pdfetex)
fmtutil [INFO]: Total formats: 8
fmtutil [INFO]: exiting with status 7
 * ERROR: dev-texlive/texlive-basic-2017-r1::gentoo failed (compile phase):
 *   failed to build format texmf-dist/fmtutil/format.texlive-basic.cnf
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_compile
 *   environment, line 1938:  Called texlive-module_src_compile
 *   environment, line 2756:  Called die
 * The specific snippet of code:
 *               VARTEXFONTS="${T}/fonts" 
TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var" env -u TEXINPUTS fmtutil 
--cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all || die "failed to build 
format ${i}";
 * 
 * If you need support, post the output of `emerge --info 
'=dev-texlive/texlive-basic-2017-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv 
'=dev-texlive/texlive-basic-2017-r1::gentoo'`.
 * The complete build log is located at 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/temp/build.log'.
 * The ebuild environment file is located at 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/temp/environment'.
 * Working directory: 
'/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work'
 * S: '/Net/portage/portage/dev-texlive/texlive-basic-2017-r1/work'

Reply via email to