declare -- ADDONS_SRC=" http://hg.services.openoffice.org/binaries/128cfc86ed5953e57fe0f5ae98b62c2e-libtextcat-2.2.tar.gz http://hg.services.openoffice.org/binaries/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip http://hg.services.openoffice.org/binaries/1756c4fa6c616ae15973c104cd8cb256-Adobe-Core35_AFMs-314.tar.gz http://hg.services.openoffice.org/binaries/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz http://hg.services.openoffice.org/binaries/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz http://hg.services.openoffice.org/binaries/24be19595acad0a2cae931af77a0148a-LICENSE_source-9.0.0.7-bj.html http://hg.services.openoffice.org/binaries/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz http://hg.services.openoffice.org/binaries/284e768eeda0e2898b0d5bf7e26a016e-raptor-1.4.18.tar.gz http://hg.services.openoffice.org/binaries/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz http://hg.services.openoffice.org/binaries/ca4870d899fd7e943ffc310a5421ad4d-liberation-fonts-ttf-1.06.0.20100721.tar.gz http://hg.services.openoffice.org/binaries/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip http://hg.services.openoffice.org/binaries/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip http://hg.services.openoffice.org/binaries/377a60170e5185eb63d3ed2fae98e621-README_silgraphite-2.3.1.txt http://hg.services.openoffice.org/binaries/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip http://hg.services.openoffice.org/binaries/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz http://hg.services.openoffice.org/binaries/48470d662650c3c074e1c3fabbc67bbd-README_source-9.0.0.7-bj.txt http://hg.services.openoffice.org/binaries/4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz http://hg.services.openoffice.org/binaries/599dc4cc65a07ee868cf92a667a913d2-xpdf-3.02.tar.gz http://hg.services.openoffice.org/binaries/5aba06ede2daa9f2c11892fbd7bc3057-libserializer.zip http://hg.services.openoffice.org/binaries/7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz http://hg.services.openoffice.org/binaries/79600e696a98ff95c2eba976f7a8dfbb-liblayout.zip http://hg.services.openoffice.org/binaries/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip http://hg.services.openoffice.org/binaries/8294d6c42e3553229af9934c5c0ed997-stax-api-1.0-2-sources.jar http://hg.services.openoffice.org/binaries/8ea307d71d11140574bfb9fcc2487e33-libbase.zip http://hg.services.openoffice.org/binaries/a06a496d7a43cbdc35e69dbe678efadb-libloader.zip http://hg.services.openoffice.org/binaries/a4d9b30810a434a3ed39fc0003bbd637-LICENSE_stax-api-1.0-2-sources.html http://hg.services.openoffice.org/binaries/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip http://hg.services.openoffice.org/binaries/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip http://hg.services.openoffice.org/binaries/bc702168a2af16869201dbe91e46ae48-LICENSE_Python-2.6.1 http://hg.services.openoffice.org/binaries/c441926f3a552ed3e5b274b62e86af16-STLport-4.0.tar.gz http://hg.services.openoffice.org/binaries/d0b5af6e408b8d2958f3d83b5244f5e8-hyphen-2.4.tar.gz http://hg.services.openoffice.org/binaries/d1a3205871c3c52e8a50c9f18510ae12-libformula.zip http://hg.services.openoffice.org/binaries/d4c4d91ab3a8e52a2e69d48d34ef4df4-core.zip http://hg.services.openoffice.org/binaries/dbb3757275dc5cc80820c0b4dd24ed95-librepository.zip http://hg.services.openoffice.org/binaries/e0707ff896045731ff99e99799606441-README_db-4.7.25.NC-custom.txt http://hg.services.openoffice.org/binaries/f3e2febd267c8e4b13df00dac211dd6d-flute.zip http://hg.services.openoffice.org/binaries/f7925ba8491fe570e5164d2c72791358-libfonts.zip http://hg.services.openoffice.org/binaries/fb7ba5c2182be4e73748859967455455-README_stax-api-1.0-2-sources.txt http://hg.services.openoffice.org/binaries/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz http://hg.services.openoffice.org/binaries/37282537d0ed1a087b1c8f050dc812d9-dejavu-fonts-ttf-2.32.zip http://hg.services.openoffice.org/binaries/067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz http://hg.services.openoffice.org/binaries/cf8a6967f7de535ae257fa411c98eb88-mdds_0.3.0.tar.bz2 http://download.go-oo.org/src/47e1edaa44269bc537ae8cabebb0f638-JLanguageTool-1.0.0.tar.bz2 http://download.go-oo.org/src/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2 http://download.go-oo.org/src/0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll http://download.go-oo.org/src/5ff846847dab351604ad859e2fd4ed3c-libwpd-0.9.1.tar.bz2 http://download.go-oo.org/src/5ba6a61a2f66dfd5fee8cdd4cd262a37-libwpg-0.2.0.tar.bz2 http://download.go-oo.org/src/9e436bff44c60dc8b97cba0c7fc11a5c-libwps-0.2.0.tar.bz2 http://www.numbertext.org/linux/881af2b7dca9b8259abbca00bbbc004d-LinLibertineG-20110101.zip" declare -x ALLOWED_FLAGS="-pipe -O -O0 -O1 -O2 -mcpu -march -mtune -fstack-protector -fstack-protector-all -fbounds-checking -fno-strict-overflow -fno-PIE -fno-pie -fno-unit-at-a-time -g -g[0-9] -ggdb -ggdb[0-9] -gstabs -gstabs+ -fno-ident -fpermissive -W* -w -fno-stack-protector -fno-stack-protector-all -fno-strict-aliasing -fno-bounds-checking -fstrict-overflow -fno-omit-frame-pointer -mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt -mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -mplt -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu -mieee -mieee-with-inexact -mschedule -mfloat-gprs -mspe -mno-spe -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-structs -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias -msecure-plt -m*-toc -D* -U* -mno-fma4 -mno-movbe -mno-xop -mno-lwp -mno-fsgsbase -mno-rdrnd -mno-f16c -mno-bmi -mno-tbm" declare -x ALSA_CARDS="" declare -x ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" declare -x APACHE2_MODULES=" alias auth_basic authz_host deflate dir expires filter headers info log_config logio mime mime_magic rewrite status unique_id userdir vhost_alias " declare -x APACHE2_MPMS="event" declare -x ARCH="arm" declare -x ARCH_FLAGS="-pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16" declare -- AT_M4DIR="" declare -- AUTOTOOLS_AUTO_DEPEND="yes" declare -- AUTOTOOLS_DEPEND="=sys-devel/automake-1.9* >=sys-devel/autoconf-2.61 >=sys-devel/libtool-2.2.6b" declare -- BASE_EXPF="src_unpack src_compile src_install src_prepare src_configure" declare -- BASIS="basis3.3" declare -x BUILD_TYPE="release" declare -x CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" declare -x CAMERAS="canon" declare -x CBUILD="armv7a-hardfloat-linux-gnueabi" declare -x CFLAGS="-pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16" declare -x CFLAGS_default declare -- CHECKREQS_DISK_BUILD="7144" declare -- CHECKREQS_MEMORY="512" declare -x CHECKREQS_NEED_DIE="" declare -x CHECKREQS_NEED_SLEEP="yes" declare -x CHOST="armv7a-hardfloat-linux-gnueabi" declare -x CHOST_default="armv7a-hardfloat-linux-gnueabi" declare -- CMAKE_REQUIRED="never" declare -x COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" declare -- COMMON_DEPEND="!app-office/libreoffice-bin !app-office/openoffice-bin !app-office/openoffice cups? ( net-print/cups ) dbus? ( >=dev-libs/dbus-glib-0.71 ) eds? ( >=gnome-extra/evolution-data-server-1.2 ) gnome? ( >=x11-libs/gtk+-2.10:2 gnome-base/gconf:2 ) gtk? ( >=x11-libs/gtk+-2.10:2 ) gstreamer? ( >=media-libs/gstreamer-0.10 >=media-libs/gst-plugins-base-0.10 ) java? ( >=dev-java/bsh-2.0_beta4 dev-java/lucene:2.3 dev-java/lucene-analyzers:2.3 ) ldap? ( net-nds/openldap ) nsplugin? ( net-libs/xulrunner:1.9 >=dev-libs/nspr-4.6.6 >=dev-libs/nss-3.11-r1 ) opengl? ( virtual/opengl ) app-arch/zip app-arch/unzip >=app-text/hunspell-1.1.4-r1 >=app-text/poppler-0.12.3-r3[xpdf-headers] dev-libs/expat >=dev-libs/glib-2.18 >=dev-libs/icu-4.0 >=dev-lang/perl-5.0 >=net-libs/neon-0.24.7 >=dev-libs/openssl-0.9.8g dev-libs/redland[ssl] >=media-libs/freetype-2.1.10-r2 >=media-libs/fontconfig-2.3.0 >=media-libs/vigra-1.4 media-libs/libpng >=sys-libs/db-4.3 virtual/jpeg >=x11-libs/cairo-1.0.2 x11-libs/libXaw x11-libs/libXinerama x11-libs/libXrandr" declare -- CONFFILE="/var/tmp/portage/app-office/libreoffice-3.3.2/work/libreoffice-build-3.3.2.2/distro-configs/Gentoo.conf.in" declare -x CPPFLAGS="" declare -- CPPUNIT_REQUIRED="never" declare -x CROSSCOMPILE_OPTS="" declare -x CTARGET_default="armv7a-hardfloat-linux-gnueabi" declare -x CXXFLAGS="-pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16" declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-DzddHdYeUJ,guid=702e46da338733f5b82109270000004b" declare -- DECLARATIVE_REQUIRED="never" declare -x DEFAULT_ABI="default" declare -x DEFINED_PHASES=" compile configure install postinst postrm preinst prepare setup unpack" declare DEPEND="!app-office/libreoffice-bin !app-office/openoffice-bin !app-office/openoffice cups? ( net-print/cups ) dbus? ( >=dev-libs/dbus-glib-0.71 ) eds? ( >=gnome-extra/evolution-data-server-1.2 ) gnome? ( >=x11-libs/gtk+-2.10:2 gnome-base/gconf:2 ) gtk? ( >=x11-libs/gtk+-2.10:2 ) gstreamer? ( >=media-libs/gstreamer-0.10 >=media-libs/gst-plugins-base-0.10 ) java? ( >=dev-java/bsh-2.0_beta4 dev-java/lucene:2.3 dev-java/lucene-analyzers:2.3 ) ldap? ( net-nds/openldap ) nsplugin? ( net-libs/xulrunner:1.9 >=dev-libs/nspr-4.6.6 >=dev-libs/nss-3.11-r1 ) opengl? ( virtual/opengl ) app-arch/zip app-arch/unzip >=app-text/hunspell-1.1.4-r1 >=app-text/poppler-0.12.3-r3[xpdf-headers] dev-libs/expat >=dev-libs/glib-2.18 >=dev-libs/icu-4.0 >=dev-lang/perl-5.0 >=net-libs/neon-0.24.7 >=dev-libs/openssl-0.9.8g dev-libs/redland[ssl] >=media-libs/freetype-2.1.10-r2 >=media-libs/fontconfig-2.3.0 >=media-libs/vigra-1.4 media-libs/libpng >=sys-libs/db-4.3 virtual/jpeg >=x11-libs/cairo-1.0.2 x11-libs/libXaw x11-libs/libXinerama x11-libs/libXrandr java? ( || ( =virtual/jdk-1.6* =virtual/jdk-1.5* ) >=dev-java/ant-core-1.7 ) >=dev-libs/boost-1.36 >=dev-libs/libxml2-2.0 dev-perl/Archive-Zip dev-libs/libxslt dev-util/cppunit >=dev-util/gperf-3 dev-util/intltool dev-util/pkgconfig >=net-misc/curl-7.12 >=sys-apps/findutils-4.1.20-r1 sys-devel/bison sys-apps/coreutils sys-devel/flex sys-libs/zlib x11-libs/libXrender x11-libs/libXtst x11-proto/printproto x11-proto/xextproto x11-proto/xineramaproto x11-proto/xproto =sys-devel/automake-1.9* >=sys-devel/autoconf-2.61 >=sys-devel/libtool-2.2.6b >=sys-apps/sed-4 java? ( >=dev-java/java-config-2.1.9-r1 ) >=sys-apps/sed-4 kde? ( dev-util/automoc dev-util/pkgconfig !aqua? ( >=x11-libs/libXtst-1.1.0 x11-proto/xf86vidmodeproto ) ) kde? ( dev-lang/perl >=x11-libs/qt-core-4.6.3:4[qt3support,ssl] >=x11-libs/qt-gui-4.6.3:4[accessibility,dbus] >=x11-libs/qt-qt3support-4.6.3:4[accessibility,kde] >=x11-libs/qt-script-4.6.3:4 >=x11-libs/qt-sql-4.6.3:4[qt3support] >=x11-libs/qt-svg-4.6.3:4 >=x11-libs/qt-test-4.6.3:4 >=x11-libs/qt-webkit-4.6.3:4[kde?] !aqua? ( x11-libs/libXext x11-libs/libXt x11-libs/libXxf86vm x11-libs/libXcomposite ) >=kde-base/kdelibs-4.4[aqua=] ) >=app-admin/eselect-python-20091230 =dev-lang/python-2* =dev-lang/python-2*[threads]" declare DESCRIPTION="LibreOffice, a full office productivity suite." declare -x DESKTOP_SESSION="gnome" declare -x DESTTREE="/usr" declare -- DEVPATH="http://download.documentfoundation.org/libreoffice/src" declare -x DIROPTIONS="-m0755" declare -x EAPI="3" declare -- EBUILD_DEATH_HOOKS=" java-pkg_die" declare -- EKDEDIR="/usr" declare -x ELIBC="glibc" declare -- ELT_PATCH_DIR="/usr/portage/eclass/ELT-patches" declare -- EPATCH_EXCLUDE="" declare -- EPATCH_FORCE="no" declare -- EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..." declare -- EPATCH_OPTS="-g0 -E --no-backup-if-mismatch" declare -- EPATCH_SINGLE_MSG="" declare -- EPATCH_SOURCE="/var/tmp/portage/app-office/libreoffice-3.3.2/work/patch" declare -- EPATCH_SUFFIX="patch.bz2" declare -x EPYTHON="python2.7" declare -x EXEOPTIONS="-m0755" declare -x FCFLAGS="" declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port=22 ; exec rsync --rsh=\\\"ssh -p\\\${port}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" declare -x FFLAGS="" declare -x GCC_SPECS="" declare -- GCONFTOOL_BIN="/usr/bin/gconftool-2" declare -x GDK_USE_XFT="1" declare -x GDMSESSION="gnome" declare -x GDM_LANG="" declare -- GLIB_COMPILE_SCHEMAS="/usr/bin/glib-compile-schemas" declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" declare -x GNOME_KEYRING_CONTROL="/tmp/keyring-AuUnGH" declare -x GNOME_KEYRING_PID="1462" declare -x GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" declare -x GSETTINGS_BACKEND="dconf" declare -- GTK_UPDATE_ICON_CACHE="/usr/bin/gtk-update-icon-cache" declare HOMEPAGE="http://www.libreoffice.org" declare -x INHERITED=" toolchain-funcs multilib portability eutils libtool autotools bash-completion check-reqs versionator db-use fdo-mime flag-o-matic gnome2-utils java-utils-2 java-pkg-opt-2 kde4-functions base virtualx kde4-base pax-utils python" declare -x INPUT_DEVICES="" declare -x INSDESTTREE="" declare -x INSOPTIONS="-m0644" declare IUSE="binfilter cups -custom-cflags dbus debug eds gnome gstreamer gtk kde ldap nsplugin odk opengl templates linguas_af linguas_ar linguas_as linguas_ast linguas_be_BY linguas_bg linguas_bn linguas_bo linguas_br linguas_brx linguas_bs linguas_ca linguas_ca_XV linguas_cs linguas_cy linguas_da linguas_de linguas_dgo linguas_dz linguas_el linguas_en linguas_en_GB linguas_en_ZA linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gd linguas_gl linguas_gu linguas_he linguas_hi linguas_hr linguas_hu linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_km linguas_kn linguas_ko linguas_kok linguas_ks linguas_ku linguas_ky linguas_lo linguas_lt linguas_lv linguas_mai linguas_mk linguas_ml linguas_mn linguas_mni linguas_mr linguas_ms linguas_my linguas_nb linguas_ne linguas_nl linguas_nn linguas_nr linguas_ns linguas_oc linguas_om linguas_or linguas_pa_IN linguas_pap linguas_pl linguas_ps linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_rw linguas_sa_IN linguas_sat linguas_sd linguas_sh linguas_si linguas_sk linguas_sl linguas_sq linguas_sr linguas_ss linguas_st linguas_sv linguas_sw_TZ linguas_ta linguas_te linguas_tg linguas_th linguas_ti linguas_tn linguas_tr linguas_ts linguas_ug linguas_uk linguas_uz linguas_ve linguas_vi linguas_xh linguas_zh_CN linguas_zh_TW linguas_zu linguas_en linguas_en_US bash-completion elibc_FreeBSD java aqua kde kdeenablefinal" declare -- JAVA_PKG_ALLOW_VM_CHANGE="yes" declare -- JAVA_PKG_BUILD_DEPEND_FILE="/var/tmp/portage/app-office/libreoffice-3.3.2/temp/java-pkg-build-depend" declare -- JAVA_PKG_COMPILERS_CONF="/etc/java-config-2/build/compilers.conf" declare -- JAVA_PKG_COMPILER_DIR="/usr/share/java-config-2/compiler" declare -- JAVA_PKG_DEPEND_FILE="/var/tmp/portage/app-office/libreoffice-3.3.2/temp/java-pkg-depend" declare -- JAVA_PKG_EXTRA_ENV="/var/tmp/portage/app-office/libreoffice-3.3.2/temp/java-pkg-extra-env" declare -- JAVA_PKG_EXTRA_ENV_VARS="" declare -- JAVA_PKG_E_DEPEND=">=dev-java/java-config-2.1.9-r1 " declare -- JAVA_PKG_OPTIONAL_DEPEND_FILE="/var/tmp/portage/app-office/libreoffice-3.3.2/temp/java-pkg-optional-depend" declare -- JAVA_PKG_OPT_USE="java" declare -- JAVA_PKG_QA_VIOLATIONS="0" declare -x JOBS="3" declare -x JYTHON_SYSTEM_CACHEDIR="1" declare -- KDEDIR="/usr" declare -- KDE_HANDBOOK="never" declare -a KDE_LIVE_SLOTS='([0]="live")' declare -- KDE_MINIMAL="4.4" declare -- KDE_REQUIRED="optional" declare -- KDE_SCM="svn" declare -a KDE_SLOTS='([0]="4.1" [1]="4.2" [2]="4.3" [3]="4.4" [4]="4.5" [5]="4.6" [6]="4.7")' declare -x KERNEL="linux" declare -x KERNEL_ABI="default" declare -x KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" declare -x KV="2.6.37.6-marvin24-ac100-07jun" declare -x LANG="ru_RU.UTF-8" declare -- LANGS="af ar as ast be_BY bg bn bo br brx bs ca ca_XV cs cy da de dgo dz el en en_GB en_ZA eo es et eu fa fi fr ga gd gl gu he hi hr hu id is it ja ka kk km kn ko kok ks ku ky lo lt lv mai mk ml mn mni mr ms my nb ne nl nn nr ns oc om or pa_IN pap pl ps pt pt_BR ro ru rw sa_IN sat sd sh si sk sl sq sr ss st sv sw_TZ ta te tg th ti tn tr ts ug uk uz ve vi xh zh_CN zh_TW zu en en_US" declare -- LANGS1="af ar as ast be_BY bg bn bo br brx bs ca ca_XV cs cy da de dgo dz el en en_GB en_ZA eo es et eu fa fi fr ga gd gl gu he hi hr hu id is it ja ka kk km kn ko kok ks ku ky lo lt lv mai mk ml mn mni mr ms my nb ne nl nn nr ns oc om or pa_IN pap pl ps pt pt_BR ro ru rw sa_IN sat sd sh si sk sl sq sr ss st sv sw_TZ ta te tg th ti tn tr ts ug uk uz ve vi xh zh_CN zh_TW zu" declare -x LCD_DEVICES="" declare -x LC_ALL="" declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed" declare -x LDFLAGS_default declare -x LIBDIR_default="lib" declare -x LIBOPTIONS="-m0644" declare -x LICENSE="LGPL-3" declare -x LINGUAS="en ru" declare -x LINGUAS_OOO="en-US ru" declare -x LINGUAS_TEMP=" ru" declare -x LINKFLAGSOPTIMIZE="-Wl,-O1 -Wl,--as-needed" declare -x MAKEOPTS="-j3" declare -- MODULES="artwork base bootstrap calc components extensions extras filters help impress libs-core libs-extern libs-extern-sys libs-gui postprocess sdk testing ure writer l10n" declare -x MULTILIB_ABIS="default" declare -- MULTIMEDIA_REQUIRED="never" declare -- MY_P="libreoffice-build-3.3.2.2" declare -- MY_PV="3.3.2.2" declare -x NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" declare -x OPENGL_PROFILE="xorg-x11" declare -- OPENGL_REQUIRED="never" declare -x ORBIT_SOCKETDIR="/tmp/orbit-xxx" declare -- PATCHLEVEL="OOO320" declare -x PATH="/usr/lib/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/armv7a-hardfloat-linux-gnueabi/gcc-bin/4.5.2" declare -- PAX_MARKINGS="PT" declare PDEPEND=" bash-completion? ( app-shells/bash-completion )" declare -x PHP_INI_VERSION="development" declare -x PHP_TARGETS="" declare -x PKG_CONFIG_PATH="/usr/lib/pkgconfig" declare -x PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" declare -a PORTAGE_DOCOMPRESS='([0]="/usr/share/doc" [1]="/usr/share/info" [2]="/usr/share/man")' declare -a PORTAGE_DOCOMPRESS_SKIP='([0]="/usr/share/doc/libreoffice-3.3.2/html")' declare -- PREFIX="/usr" declare -x PRELINK_PATH_MASK="/usr/lib/klibc:/usr/lib/libfreebl3.so:/usr/lib/libnssdbm3.so:/usr/lib/libsoftokn3.so" declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" declare -x PROPERTIES="" declare -x PROVIDE="" declare -x PYTHONDONTWRITEBYTECODE="1" declare -- PYTHON_ABI="2.7" declare -- PYTHON_COLORS="0" declare -- PYTHON_DEPEND="2" declare -- PYTHON_PKG_SETUP_EXECUTED="1" declare -- PYTHON_REQUESTED_ACTIVE_VERSION="2" declare -- PYTHON_SANITY_CHECKS_EXECUTED="1" declare -- PYTHON_TEST_VERBOSITY="1" declare -- PYTHON_USE_WITH="threads" declare -- QTHELP_REQUIRED="never" declare -- QT_MINIMAL="4.6.3" declare -- QT_PLUGIN_PATH="/usr/lib/kde4/plugins/" declare -x RDEPEND="java? ( >=virtual/jre-1.5 ) linguas_af? ( app-dicts/myspell-af ) linguas_bg? ( app-dicts/myspell-bg ) linguas_ca? ( app-dicts/myspell-ca ) linguas_cs? ( app-dicts/myspell-cs ) linguas_cy? ( app-dicts/myspell-cy ) linguas_da? ( app-dicts/myspell-da ) linguas_de? ( app-dicts/myspell-de ) linguas_el? ( app-dicts/myspell-el ) linguas_en? ( app-dicts/myspell-en ) linguas_eo? ( app-dicts/myspell-eo ) linguas_es? ( app-dicts/myspell-es ) linguas_et? ( app-dicts/myspell-et ) linguas_fr? ( app-dicts/myspell-fr ) linguas_ga? ( app-dicts/myspell-ga ) linguas_gl? ( app-dicts/myspell-gl ) linguas_he? ( app-dicts/myspell-he ) linguas_hr? ( app-dicts/myspell-hr ) linguas_hu? ( app-dicts/myspell-hu ) linguas_it? ( app-dicts/myspell-it ) linguas_ku? ( app-dicts/myspell-ku ) linguas_lt? ( app-dicts/myspell-lt ) linguas_mk? ( app-dicts/myspell-mk ) linguas_nb? ( app-dicts/myspell-nb ) linguas_nl? ( app-dicts/myspell-nl ) linguas_nn? ( app-dicts/myspell-nn ) linguas_pl? ( app-dicts/myspell-pl ) linguas_pt? ( app-dicts/myspell-pt ) linguas_ru? ( app-dicts/myspell-ru ) linguas_sk? ( app-dicts/myspell-sk ) linguas_sl? ( app-dicts/myspell-sl ) linguas_sv? ( app-dicts/myspell-sv ) linguas_tn? ( app-dicts/myspell-tn ) linguas_zu? ( app-dicts/myspell-zu ) !app-office/libreoffice-bin !app-office/openoffice-bin !app-office/openoffice cups? ( net-print/cups ) dbus? ( >=dev-libs/dbus-glib-0.71 ) eds? ( >=gnome-extra/evolution-data-server-1.2 ) gnome? ( >=x11-libs/gtk+-2.10:2 gnome-base/gconf:2 ) gtk? ( >=x11-libs/gtk+-2.10:2 ) gstreamer? ( >=media-libs/gstreamer-0.10 >=media-libs/gst-plugins-base-0.10 ) java? ( >=dev-java/bsh-2.0_beta4 dev-java/lucene:2.3 dev-java/lucene-analyzers:2.3 ) ldap? ( net-nds/openldap ) nsplugin? ( net-libs/xulrunner:1.9 >=dev-libs/nspr-4.6.6 >=dev-libs/nss-3.11-r1 ) opengl? ( virtual/opengl ) app-arch/zip app-arch/unzip >=app-text/hunspell-1.1.4-r1 >=app-text/poppler-0.12.3-r3[xpdf-headers] dev-libs/expat >=dev-libs/glib-2.18 >=dev-libs/icu-4.0 >=dev-lang/perl-5.0 >=net-libs/neon-0.24.7 >=dev-libs/openssl-0.9.8g dev-libs/redland[ssl] >=media-libs/freetype-2.1.10-r2 >=media-libs/fontconfig-2.3.0 >=media-libs/vigra-1.4 media-libs/libpng >=sys-libs/db-4.3 virtual/jpeg >=x11-libs/cairo-1.0.2 x11-libs/libXaw x11-libs/libXinerama x11-libs/libXrandr bash-completion? ( app-admin/eselect ) java? ( >=dev-java/java-config-2.1.9-r1 ) kde? ( >=kde-base/oxygen-icons-4.4[aqua=] ) kde? ( dev-lang/perl >=x11-libs/qt-core-4.6.3:4[qt3support,ssl] >=x11-libs/qt-gui-4.6.3:4[accessibility,dbus] >=x11-libs/qt-qt3support-4.6.3:4[accessibility,kde] >=x11-libs/qt-script-4.6.3:4 >=x11-libs/qt-sql-4.6.3:4[qt3support] >=x11-libs/qt-svg-4.6.3:4 >=x11-libs/qt-test-4.6.3:4 >=x11-libs/qt-webkit-4.6.3:4[kde?] !aqua? ( x11-libs/libXext x11-libs/libXt x11-libs/libXxf86vm x11-libs/libXcomposite ) >=kde-base/kdelibs-4.4[aqua=] ) >=app-admin/eselect-python-20091230 =dev-lang/python-2* =dev-lang/python-2*[threads]" declare REQUIRED_USE=" " declare -x RESTRICT="" declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port=22 ; exec rsync --rsh=\\\"ssh -p\\\${port}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" declare -x RUBY_TARGETS="" declare -x S="/var/tmp/portage/app-office/libreoffice-3.3.2/work/libreoffice-build-3.3.2.2" declare -x SANDBOX_DEBUG="0" declare -x SANDBOX_DENY="" declare -x SANDBOX_PID="31955" declare -x SANDBOX_PREDICT="/var/tmp/portage/app-office/libreoffice-3.3.2/homedir:/dev/crypto:/var/cache/fontconfig" declare -x SANDBOX_READ="/:/var/tmp" declare -x SANDBOX_VERBOSE="1" declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/full:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/lib/cf:/usr/lib/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/cache/jython:/var/tmp:/var/tmp/:/var/tmp/portage/app-office/libreoffice-3.3.2/homedir/.bash_history" declare -x SANE_BACKENDS="" declare -- SCROLLKEEPER_DIR="/var/lib/scrollkeeper" declare -- SCROLLKEEPER_UPDATE_BIN="/usr/bin/scrollkeeper-update" declare -x SESSION_MANAGER="local/ac100:@/tmp/.ICE-unix/1481,unix/ac100:/tmp/.ICE-unix/1481" declare -x SLOT="0" declare -- SPELL_DIRS="af bg ca cs cy da de el en eo es et fr ga gl he hr hu it ku lt mk nb nl nn pl pt ru sk sl sv tn zu" declare -- SPELL_DIRS_DEPEND=" linguas_af? ( app-dicts/myspell-af ) linguas_bg? ( app-dicts/myspell-bg ) linguas_ca? ( app-dicts/myspell-ca ) linguas_cs? ( app-dicts/myspell-cs ) linguas_cy? ( app-dicts/myspell-cy ) linguas_da? ( app-dicts/myspell-da ) linguas_de? ( app-dicts/myspell-de ) linguas_el? ( app-dicts/myspell-el ) linguas_en? ( app-dicts/myspell-en ) linguas_eo? ( app-dicts/myspell-eo ) linguas_es? ( app-dicts/myspell-es ) linguas_et? ( app-dicts/myspell-et ) linguas_fr? ( app-dicts/myspell-fr ) linguas_ga? ( app-dicts/myspell-ga ) linguas_gl? ( app-dicts/myspell-gl ) linguas_he? ( app-dicts/myspell-he ) linguas_hr? ( app-dicts/myspell-hr ) linguas_hu? ( app-dicts/myspell-hu ) linguas_it? ( app-dicts/myspell-it ) linguas_ku? ( app-dicts/myspell-ku ) linguas_lt? ( app-dicts/myspell-lt ) linguas_mk? ( app-dicts/myspell-mk ) linguas_nb? ( app-dicts/myspell-nb ) linguas_nl? ( app-dicts/myspell-nl ) linguas_nn? ( app-dicts/myspell-nn ) linguas_pl? ( app-dicts/myspell-pl ) linguas_pt? ( app-dicts/myspell-pt ) linguas_ru? ( app-dicts/myspell-ru ) linguas_sk? ( app-dicts/myspell-sk ) linguas_sl? ( app-dicts/myspell-sl ) linguas_sv? ( app-dicts/myspell-sv ) linguas_tn? ( app-dicts/myspell-tn ) linguas_zu? ( app-dicts/myspell-zu )" declare -- SRC="OOo_3.3.2_src" declare SRC_URI="http://download.documentfoundation.org/libreoffice/src/libreoffice-build-3.3.2.2.tar.gz templates? ( http://extensions.services.openoffice.org/files/273/0/Sun_ODF_Template_Pack_en-US.oxt http://extensions.services.openoffice.org/files/295/1/Sun_ODF_Template_Pack_de.oxt http://extensions.services.openoffice.org/files/299/0/Sun_ODF_Template_Pack_it.oxt http://extensions.services.openoffice.org/files/297/0/Sun_ODF_Template_Pack_fr.oxt http://extensions.services.openoffice.org/files/301/1/Sun_ODF_Template_Pack_es.oxt ftp://ftp.devall.hu/kami/go-oo//Sun_ODF_Template_Pack_hu.oxt ) odk? ( java? ( http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll ) ) http://download.go-oo.org/SRC680/extras-3.1.tar.bz2 http://download.go-oo.org/SRC680/biblio.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-artwork-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-base-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-bootstrap-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-calc-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-components-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-extensions-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-extras-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-filters-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-help-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-impress-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-core-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-sys-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-gui-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-postprocess-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-sdk-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-testing-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-ure-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-writer-3.3.2.2.tar.bz2 http://download.documentfoundation.org/libreoffice/src/libreoffice-l10n-3.3.2.2.tar.bz2 http://hg.services.openoffice.org/binaries/128cfc86ed5953e57fe0f5ae98b62c2e-libtextcat-2.2.tar.gz http://hg.services.openoffice.org/binaries/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip http://hg.services.openoffice.org/binaries/1756c4fa6c616ae15973c104cd8cb256-Adobe-Core35_AFMs-314.tar.gz http://hg.services.openoffice.org/binaries/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz http://hg.services.openoffice.org/binaries/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz http://hg.services.openoffice.org/binaries/24be19595acad0a2cae931af77a0148a-LICENSE_source-9.0.0.7-bj.html http://hg.services.openoffice.org/binaries/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz http://hg.services.openoffice.org/binaries/284e768eeda0e2898b0d5bf7e26a016e-raptor-1.4.18.tar.gz http://hg.services.openoffice.org/binaries/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz http://hg.services.openoffice.org/binaries/ca4870d899fd7e943ffc310a5421ad4d-liberation-fonts-ttf-1.06.0.20100721.tar.gz http://hg.services.openoffice.org/binaries/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip http://hg.services.openoffice.org/binaries/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip http://hg.services.openoffice.org/binaries/377a60170e5185eb63d3ed2fae98e621-README_silgraphite-2.3.1.txt http://hg.services.openoffice.org/binaries/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip http://hg.services.openoffice.org/binaries/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz http://hg.services.openoffice.org/binaries/48470d662650c3c074e1c3fabbc67bbd-README_source-9.0.0.7-bj.txt http://hg.services.openoffice.org/binaries/4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz http://hg.services.openoffice.org/binaries/599dc4cc65a07ee868cf92a667a913d2-xpdf-3.02.tar.gz http://hg.services.openoffice.org/binaries/5aba06ede2daa9f2c11892fbd7bc3057-libserializer.zip http://hg.services.openoffice.org/binaries/7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz http://hg.services.openoffice.org/binaries/79600e696a98ff95c2eba976f7a8dfbb-liblayout.zip http://hg.services.openoffice.org/binaries/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip http://hg.services.openoffice.org/binaries/8294d6c42e3553229af9934c5c0ed997-stax-api-1.0-2-sources.jar http://hg.services.openoffice.org/binaries/8ea307d71d11140574bfb9fcc2487e33-libbase.zip http://hg.services.openoffice.org/binaries/a06a496d7a43cbdc35e69dbe678efadb-libloader.zip http://hg.services.openoffice.org/binaries/a4d9b30810a434a3ed39fc0003bbd637-LICENSE_stax-api-1.0-2-sources.html http://hg.services.openoffice.org/binaries/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip http://hg.services.openoffice.org/binaries/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip http://hg.services.openoffice.org/binaries/bc702168a2af16869201dbe91e46ae48-LICENSE_Python-2.6.1 http://hg.services.openoffice.org/binaries/c441926f3a552ed3e5b274b62e86af16-STLport-4.0.tar.gz http://hg.services.openoffice.org/binaries/d0b5af6e408b8d2958f3d83b5244f5e8-hyphen-2.4.tar.gz http://hg.services.openoffice.org/binaries/d1a3205871c3c52e8a50c9f18510ae12-libformula.zip http://hg.services.openoffice.org/binaries/d4c4d91ab3a8e52a2e69d48d34ef4df4-core.zip http://hg.services.openoffice.org/binaries/dbb3757275dc5cc80820c0b4dd24ed95-librepository.zip http://hg.services.openoffice.org/binaries/e0707ff896045731ff99e99799606441-README_db-4.7.25.NC-custom.txt http://hg.services.openoffice.org/binaries/f3e2febd267c8e4b13df00dac211dd6d-flute.zip http://hg.services.openoffice.org/binaries/f7925ba8491fe570e5164d2c72791358-libfonts.zip http://hg.services.openoffice.org/binaries/fb7ba5c2182be4e73748859967455455-README_stax-api-1.0-2-sources.txt http://hg.services.openoffice.org/binaries/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz http://hg.services.openoffice.org/binaries/37282537d0ed1a087b1c8f050dc812d9-dejavu-fonts-ttf-2.32.zip http://hg.services.openoffice.org/binaries/067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz http://hg.services.openoffice.org/binaries/cf8a6967f7de535ae257fa411c98eb88-mdds_0.3.0.tar.bz2 http://download.go-oo.org/src/47e1edaa44269bc537ae8cabebb0f638-JLanguageTool-1.0.0.tar.bz2 http://download.go-oo.org/src/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2 http://download.go-oo.org/src/0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll http://download.go-oo.org/src/5ff846847dab351604ad859e2fd4ed3c-libwpd-0.9.1.tar.bz2 http://download.go-oo.org/src/5ba6a61a2f66dfd5fee8cdd4cd262a37-libwpg-0.2.0.tar.bz2 http://download.go-oo.org/src/9e436bff44c60dc8b97cba0c7fc11a5c-libwps-0.2.0.tar.bz2 http://www.numbertext.org/linux/881af2b7dca9b8259abbca00bbbc004d-LinLibertineG-20110101.zip" declare -x UNSTABLE_FLAGS="-Os -O3 -freorder-blocks" declare -x USE="arm bash-completion dbus eds elibc_glibc gnome gstreamer gtk kernel_linux linguas_en linguas_ru opengl userland_GNU" declare -x USERLAND="GNU" declare -x USERNAME="xxx" declare -x VIDEO_CARDS="" declare -- VIRTUALX_COMMAND="emake" declare -- VIRTUALX_DEPEND=" !prefix? ( x11-base/xorg-server[-minimal] ) x11-apps/xhost " declare -- VIRTUALX_REQUIRED="manual" declare -x WANT_AUTOCONF="2.5" declare -x WANT_AUTOMAKE="1.9" declare -x WANT_JAVA_CONFIG="2" declare -x WINDOWID="10485764" declare -x WINDOWPATH="7" declare -- X="zu" declare -x XDG_CONFIG_DIRS="/etc/xdg" declare -x XDG_CONFIG_HOME="/var/tmp/portage/app-office/libreoffice-3.3.2/temp" declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share/gdm" declare -x XDG_MENU_PREFIX="gnome-" declare -x XDG_SESSION_COOKIE="7dc84e44bc1b60e1771076d600000019-1307547030.814597-942040184" 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 -- _="PKG_INSTALL_MASK" declare -a _CPYTHON2_GLOBALLY_SUPPORTED_ABIS='([0]="2.4" [1]="2.5" [2]="2.6" [3]="2.7")' declare -a _CPYTHON3_GLOBALLY_SUPPORTED_ABIS='([0]="3.0" [1]="3.1" [2]="3.2" [3]="3.3")' declare -x _E_DOCDESTTREE_="" declare -x _E_EXEDESTTREE_="" declare -a _JYTHON_GLOBALLY_SUPPORTED_ABIS='([0]="2.5-jython")' declare -- _LATEST_AUTOMAKE="1.11" declare -- _PYTHON_ABI_EXTRACTION_COMMAND="import platform import sys sys.stdout.write(\".\".join(str(x) for x in sys.version_info[:2])) if platform.system()[:4] == \"Java\": sys.stdout.write(\"-jython\")" declare -a _PYTHON_GLOBALLY_SUPPORTED_ABIS='([0]="2.4" [1]="2.5" [2]="2.6" [3]="2.7" [4]="3.0" [5]="3.1" [6]="3.2" [7]="3.3" [8]="2.5-jython")' declare -- _PYTHON_SHEBANG_BASE_PART_REGEX="^#![[:space:]]*([^[:space:]]*/usr/bin/env[[:space:]]+)?([^[:space:]]*/)?(jython|python)" declare -a __ESHOPTS_SAVE__='()' declare -- ___ECLASS_RECUR_MULTILIB="yes" declare -- ___ECLASS_RECUR_TOOLCHAIN_FUNCS="yes" declare -- actual_memory="447356" declare -- actual_space="18884" declare -- f="ru" declare -- mod="l10n" declare -- qtwebkitusedeps="[kde?]" ELT_libtool_version () { ( unset VERSION; eval $(grep -e '^[[:space:]]*VERSION=' "$1"); echo "${VERSION:-0}" ) } ELT_try_and_apply_patch () { local ret=0; local file=$1; local patch=$2; if patch -p0 --dry-run "${file}" "${patch}" &>"${T}/elibtool.log"; then einfo " Applying $(basename "$(dirname "${patch}")")-${patch##*/}.patch ..."; patch -p0 -g0 --no-backup-if-mismatch "${file}" "${patch}" &>"${T}/elibtool.log"; ret=$?; export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${patch##*/}"; else ret=1; fi; return "${ret}" } ELT_walk_patches () { local patch; local ret=1; local file=$1; local patch_set=$2; local patch_dir="${ELT_PATCH_DIR}/${patch_set}"; local rem_int_dep=$3; [[ -z ${patch_set} ]] && return 1; [[ ! -d ${patch_dir} ]] && return 1; pushd "${ELT_PATCH_DIR}" > /dev/null; for patch in $(find "${patch_set}" -maxdepth 1 -type f | LC_ALL=C sort -r); do if [[ -n ${rem_int_dep} ]]; then local tmp="${T}/$$.rem_int_deps.patch"; sed -e "s|@REM_INT_DEP@|${rem_int_dep}|g" "${patch}" > "${tmp}"; patch=${tmp}; fi; if ELT_try_and_apply_patch "${file}" "${patch}"; then ret=0; break; fi; done; popd > /dev/null; return ${ret} } PYTHON () { _python_check_python_pkg_setup_execution; local ABI_output="0" absolute_path_output="0" final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" python_interpreter python2="0" python3="0"; while (($#)); do case "$1" in -2) python2="1" ;; -3) python3="1" ;; --ABI) ABI_output="1" ;; -a | --absolute-path) absolute_path_output="1" ;; -f | --final-ABI) final_ABI="1" ;; --) shift; break ;; -*) die "${FUNCNAME}(): Unrecognized option '$1'" ;; *) break ;; esac; shift; done; if [[ "${ABI_output}" == "1" && "${absolute_path_output}" == "1" ]]; then die "${FUNCNAME}(): '--ABI' and '--absolute-path' options cannot be specified simultaneously"; fi; if [[ "$((${python2} + ${python3} + ${final_ABI}))" -gt 1 ]]; then die "${FUNCNAME}(): '-2', '-3' or '--final-ABI' options cannot be specified simultaneously"; fi; if [[ "$#" -eq 0 ]]; then if [[ "${final_ABI}" == "1" ]]; then if ! _python_package_supporting_installation_for_multiple_python_abis; then die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; fi; _python_calculate_PYTHON_ABIS; PYTHON_ABI="${PYTHON_ABIS##* }"; else if [[ "${python2}" == "1" ]]; then PYTHON_ABI="$(eselect python show --python2 --ABI)"; if [[ -z "${PYTHON_ABI}" ]]; then die "${FUNCNAME}(): Active version of CPython 2 not set"; else if [[ "${PYTHON_ABI}" != "2."* ]]; then die "${FUNCNAME}(): Internal error in \`eselect python show --python2\`"; fi; fi; else if [[ "${python3}" == "1" ]]; then PYTHON_ABI="$(eselect python show --python3 --ABI)"; if [[ -z "${PYTHON_ABI}" ]]; then die "${FUNCNAME}(): Active version of CPython 3 not set"; else if [[ "${PYTHON_ABI}" != "3."* ]]; then die "${FUNCNAME}(): Internal error in \`eselect python show --python3\`"; fi; fi; else if _python_package_supporting_installation_for_multiple_python_abis; then if ! _python_abi-specific_local_scope; then die "${FUNCNAME}() should be used in ABI-specific local scope"; fi; else PYTHON_ABI="$("${EPREFIX}/usr/bin/python" -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")"; if [[ -z "${PYTHON_ABI}" ]]; then die "${FUNCNAME}(): Failure of extraction of locally active version of Python"; fi; fi; fi; fi; fi; else if [[ "$#" -eq 1 ]]; then if [[ "${final_ABI}" == "1" ]]; then die "${FUNCNAME}(): '--final-ABI' option and Python ABI cannot be specified simultaneously"; fi; if [[ "${python2}" == "1" ]]; then die "${FUNCNAME}(): '-2' option and Python ABI cannot be specified simultaneously"; fi; if [[ "${python3}" == "1" ]]; then die "${FUNCNAME}(): '-3' option and Python ABI cannot be specified simultaneously"; fi; PYTHON_ABI="$1"; else die "${FUNCNAME}(): Invalid usage"; fi; fi; if [[ "${ABI_output}" == "1" ]]; then echo -n "${PYTHON_ABI}"; return; else if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then python_interpreter="python${PYTHON_ABI}"; else if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then python_interpreter="jython${PYTHON_ABI%-jython}"; fi; fi; if [[ "${absolute_path_output}" == "1" ]]; then echo -n "${EPREFIX}/usr/bin/${python_interpreter}"; else echo -n "${python_interpreter}"; fi; fi; if [[ -n "${ABI}" && "${ABI}" != "${DEFAULT_ABI}" && "${DEFAULT_ABI}" != "default" ]]; then echo -n "-${ABI}"; fi } VER_major () { [[ -z $1 ]] && return 1; local VER=$@; echo "${VER%%[^[:digit:]]*}" } VER_micro () { [[ -z $1 ]] && return 1; local VER=$@; VER=${VER#*.*.}; echo "${VER%%[^[:digit:]]*}" } VER_minor () { [[ -z $1 ]] && return 1; local VER=$@; VER=${VER#*.}; echo "${VER%%[^[:digit:]]*}" } VER_to_int () { [[ -z $1 ]] && return 1; local VER_MAJOR=$(VER_major "$1"); local VER_MINOR=$(VER_minor "$1"); local VER_MICRO=$(VER_micro "$1"); local VER_int=$(( VER_MAJOR * 65536 + VER_MINOR * 256 + VER_MICRO )); if [[ ${VER_int} -ge 65536 ]]; then echo "${VER_int}"; return 0; fi; echo 1; return 1 } Xeconf () { debug-print-function ${FUNCNAME} "$@"; VIRTUALX_COMMAND="econf" virtualmake "$@" } Xemake () { debug-print-function ${FUNCNAME} "$@"; VIRTUALX_COMMAND="emake" virtualmake "$@" } Xmake () { debug-print-function ${FUNCNAME} "$@"; ewarn "QA: you should not execute make directly"; ewarn "QA: rather execute Xemake -j1 if you have issues with parallel make"; VIRTUALX_COMMAND="emake -j1" virtualmake "$@" } __versionator__test_version_compare () { eshopts_push -s extglob; local lt=1 eq=2 gt=3 p q; function __versionator__test_version_compare_t () { version_compare "${1}" "${3}"; local r=$?; [[ ${r} -eq ${2} ]] || echo "FAIL: ${@} (got ${r} exp ${2})" }; echo " 0 $lt 1 1 $lt 2 2 $gt 1 2 $eq 2 0 $eq 0 10 $lt 20 68 $eq 068 068 $gt 67 068 $lt 69 1.0 $lt 2.0 2.0 $eq 2.0 2.0 $gt 1.0 1.0 $gt 0.0 0.0 $eq 0.0 0.0 $lt 1.0 0.1 $lt 0.2 0.2 $eq 0.2 0.3 $gt 0.2 1.2 $lt 2.1 2.1 $gt 1.2 1.2.3 $lt 1.2.4 1.2.4 $gt 1.2.3 1.2.0 $eq 1.2 1.2.1 $gt 1.2 1.2 $lt 1.2.1 1.2b $eq 1.2b 1.2b $lt 1.2c 1.2b $gt 1.2a 1.2b $gt 1.2 1.2 $lt 1.2a 1.3 $gt 1.2a 1.3 $lt 1.3a 1.0_alpha7 $lt 1.0_beta7 1.0_beta $lt 1.0_pre 1.0_pre5 $lt 1.0_rc2 1.0_rc2 $lt 1.0 1.0_p1 $gt 1.0 1.0_p1-r1 $gt 1.0_p1 1.0_alpha6-r1 $gt 1.0_alpha6 1.0_beta6-r1 $gt 1.0_alpha6-r2 1.0_pre1 $lt 1.0-p1 1.0p $gt 1.0_p1 1.0r $gt 1.0-r1 1.6.15 $gt 1.6.10-r2 1.6.10-r2 $lt 1.6.15 " | while read a b c; do [[ -z "${a}${b}${c}" ]] && continue; __versionator__test_version_compare_t "${a}" "${b}" "${c}"; done; for q in "alpha beta pre rc=${lt};${gt}" "p r=${gt};${lt}"; do for p in ${q%%=*}; do local c=${q##*=}; local alt=${c%%;*} agt=${c##*;}; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}"; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}1"; __versionator__test_version_compare_t "1.0" $agt "1.0_${p}068"; __versionator__test_version_compare_t "2.0_${p}" $alt "2.0"; __versionator__test_version_compare_t "2.0_${p}1" $alt "2.0"; __versionator__test_version_compare_t "2.0_${p}068" $alt "2.0"; __versionator__test_version_compare_t "1.0_${p}" $eq "1.0_${p}"; __versionator__test_version_compare_t "0.0_${p}" $lt "0.0_${p}1"; __versionator__test_version_compare_t "666_${p}3" $gt "666_${p}"; __versionator__test_version_compare_t "1_${p}7" $lt "1_${p}8"; __versionator__test_version_compare_t "1_${p}7" $eq "1_${p}7"; __versionator__test_version_compare_t "1_${p}7" $gt "1_${p}6"; __versionator__test_version_compare_t "1_${p}09" $eq "1_${p}9"; done; done; for p in "-r" "_p"; do __versionator__test_version_compare_t "7.2${p}1" $lt "7.2${p}2"; __versionator__test_version_compare_t "7.2${p}2" $gt "7.2${p}1"; __versionator__test_version_compare_t "7.2${p}3" $gt "7.2${p}2"; __versionator__test_version_compare_t "7.2${p}2" $lt "7.2${p}3"; done; eshopts_pop } _calculate_live_repo () { debug-print-function ${FUNCNAME} "$@"; SRC_URI=""; case ${KDE_SCM} in svn) local branch_prefix; case ${PV} in 9999*) branch_prefix="trunk/KDE" ;; *) branch_prefix="branches/KDE/$(get_kde_version)"; ESVN_PROJECT_SUFFIX="-${PV}" ;; esac; ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}; if [[ -n ${KMNAME} ]]; then ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"; if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then KMMODULE="${PN}"; fi; case ${KMNAME} in kdebase-*) ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}" ;; kdelibs-*) ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}" ;; kdereview*) ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" ;; kdesupport) ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"; ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}" ;; kde*) ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}" ;; extragear* | playground*) ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"; ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}" ;; koffice) ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}" ;; *) ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" ;; esac; else ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"; ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"; fi; [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1} ;; git) local _kmname; EGIT_MIRROR=${EGIT_MIRROR:=git://anongit.kde.org}; if [[ -n ${EGIT_REPONAME} ]]; then _kmname=${EGIT_REPONAME}; else if [[ -n ${KMNAME} ]]; then _kmname=${KMNAME}; else _kmname=${PN}; fi; fi; case ${PV} in 9999*) ;; *) case ${_kmname} in kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs | okular) EGIT_BRANCH="$(get_kde_version)" ;; marble) EGIT_BRANCH="kde-$(get_kde_version)" ;; *) EGIT_BRANCH="KDE/$(get_kde_version)" ;; esac ;; esac; EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"; debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"; debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}" ;; esac } _calculate_src_uri () { debug-print-function ${FUNCNAME} "$@"; local _kmname _kmname_pv; [[ -n ${KDEBASE} ]] || return; if [[ -n ${KMNAME} ]]; then case ${KMNAME} in kdebase-apps) _kmname="kdebase" ;; *) _kmname="${KMNAME}" ;; esac; else _kmname=${PN}; fi; _kmname_pv="${_kmname}-${PV}"; case ${KDEBASE} in kde-base) case ${PV} in 4.[456].8[05] | 4.[456].9[023568]) SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"; [[ ${KMNAME} == "kdepim" || ${KMNAME} == "kdepim-runtime" ]] && SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname_pv}.tar.bz2" ;; 4.4.[6789] | 4.4.1?*) SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" ;; *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; esac ;; koffice) case ${PV} in 2.[1234].[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;; *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;; esac ;; kdevelop) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; esac } _cdrom_locate_file_on_cd () { local mline=""; local showedmsg=0 showjolietmsg=0; while [[ -z ${CDROM_ROOT} ]]; do local i=0; local -a cdset=(${*//:/ }); if [[ -n ${CDROM_SET} ]]; then cdset=(${cdset[${CDROM_SET}]}); fi; while [[ -n ${cdset[${i}]} ]]; do local dir=$(dirname ${cdset[${i}]}); local file=$(basename ${cdset[${i}]}); local point= node= fs= foo=; while read point node fs foo; do [[ " cd9660 iso9660 udf " != *" ${fs} "* ]] && ! [[ ${fs} == "subfs" && ",${opts}," == *",fs=cdfss,"* ]] && continue; point=${point//\040/ }; [[ ! -d ${point}/${dir} ]] && continue; [[ -z $(find "${point}/${dir}" -maxdepth 1 -iname "${file}") ]] && continue; export CDROM_ROOT=${point}; export CDROM_SET=${i}; export CDROM_MATCH=${cdset[${i}]}; return; done <<< "$(get_mounts)"; ((++i)); done; echo; if [[ ${showedmsg} -eq 0 ]]; then if [[ ${CDROM_TOTAL_CDS} -eq 1 ]]; then if [[ -z ${CDROM_NAME} ]]; then einfo "Please insert+mount the cdrom for ${PN} now !"; else einfo "Please insert+mount the ${CDROM_NAME} cdrom now !"; fi; else if [[ -z ${CDROM_NAME_1} ]]; then einfo "Please insert+mount cd #${CDROM_CURRENT_CD} for ${PN} now !"; else local var="CDROM_NAME_${CDROM_CURRENT_CD}"; einfo "Please insert+mount the ${!var} cdrom now !"; fi; fi; showedmsg=1; fi; einfo "Press return to scan for the cd again"; einfo "or hit CTRL+C to abort the emerge."; echo; if [[ ${showjolietmsg} -eq 0 ]]; then showjolietmsg=1; else ewarn "If you are having trouble with the detection"; ewarn "of your CD, it is possible that you do not have"; ewarn "Joliet support enabled in your kernel. Please"; ewarn "check that CONFIG_JOLIET is enabled in your kernel."; ebeep 5; fi; read || die "something is screwed with your system"; done } _do_blocker () { debug-print-function ${FUNCNAME} "$@"; [[ -z ${1} ]] && die "Missing parameter"; local pkg=kde-base/$1 use; shift; if [[ $pkg == *\[*\] ]]; then use=${pkg#*\[}; use=${use%\]}; pkg=${pkg%\[*\]}; fi; local param slot def="unset" var atom; for slot in 3.5 ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do local block_${slot//./_}="unset"; done; for param in "$@"; do if [[ ${param/:} == ${param} ]]; then def=${param}; else slot=${param#*:}; local block_${slot//./_}=${param%:*}; fi; done; for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do var=block_${slot//./_}; [[ ${!var} == "unset" ]] && var=def; if [[ ${!var} == "unset" ]] || [[ -z ${!var} ]] || _greater_max_in_slot ${!var#<} ${slot}; then atom=${pkg}; else if [[ ${!var} == "0" ]] || _less_min_in_slot ${!var#<} ${slot}; then continue; else if [[ ${!var:0:1} == "<" ]]; then atom="<${pkg}-${!var:1}"; else atom="<=${pkg}-${!var}"; fi; fi; fi; echo " !${atom}:${slot}${use:+[${use}]}"; done; if [[ ${block_3_5} != "unset" && ${block_3_5} != "0" ]]; then if [[ -z ${block_3_5} ]]; then atom=${pkg}; else if [[ ${block_3_5:0:1} == "<" ]]; then atom="<${pkg}-${block_3_5:1}"; else atom="<=${pkg}-${block_3_5}"; fi; fi; echo " !${atom}:3.5${use:+[${use}]}"; fi } _elibtoolize () { local opts g=; [[ -n $(autotools_check_macro AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT) ]] || return 0; [[ -f GNUmakefile.am || -f Makefile.am ]] && opts="--automake"; [[ ${CHOST} == *-darwin* ]] && g=g; autotools_run_tool ${LIBTOOLIZE:-${g}libtoolize} "$@" ${opts}; eaclocal } _enable_selected_linguas_dir () { local lingua linguas sr_mess wp; local dir=${1}; [[ -d ${dir} ]] || die "linguas dir \"${dir}\" does not exist"; comment_all_add_subdirectory "${dir}"; pushd "${dir}" > /dev/null; sr_mess="sr@latn sr@latin sr@Latin"; for wp in ${sr_mess}; do [[ -e ${wp}.po ]] && mv "${wp}.po" "sr@Latn.po"; if [[ -d ${wp} ]]; then mv "${wp}" "sr@Latn"; sed -i -e "s:${wp}:sr@Latn:g" CMakeLists.txt; fi; done; for lingua in ${KDE_LINGUAS}; do if [[ -e ${lingua}.po ]]; then mv "${lingua}.po" "${lingua}.po.old"; fi; done; for lingua in ${KDE_LINGUAS}; do if use linguas_${lingua}; then if [[ -d ${lingua} ]]; then linguas="${linguas} ${lingua}"; sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" -e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" -i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."; fi; if [[ -e ${lingua}.po.old ]]; then linguas="${linguas} ${lingua}"; mv "${lingua}.po.old" "${lingua}.po"; fi; fi; done; [[ -n ${linguas} ]] && echo ">>> Enabling languages: ${linguas}"; popd > /dev/null } _epatch_draw_line () { [[ -z $1 ]] && set "$(printf "%65s" '')"; echo "${1//?/=}" } _filter-hardened () { local f; for f in "$@"; do case "${f}" in -fPIC | -fpic | -fPIE | -fpie | -Wl,pie | -pie) gcc-specs-pie || continue; is-flagq -nopie || append-flags -nopie ;; -fstack-protector) gcc-specs-ssp || continue; is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector) ;; -fstack-protector-all) gcc-specs-ssp-to-all || continue; is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all) ;; -fno-strict-overflow) gcc-specs-nostrict || continue; is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow) ;; esac; done } _filter-var () { local f x VAR VAL; declare -a new; VAR=$1; shift; eval VAL=\${${VAR}}; for f in ${VAL}; do for x in "$@"; do [[ ${f} == ${x} ]] && continue 2; done; eval new\[\${\#new\[@]}]=\${f}; done; eval export ${VAR}=\${new\[*]} } _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" } _greater_max_in_slot () { local ver=$1; local slot=$2; [[ $slot == live ]] && return 1; local test=${slot}.50; version_compare $1 ${test}; (( $? != 1 )) } _is_flagq () { local x; for x in ${!1}; do [[ ${x} == $2 ]] && return 0; done; return 1 } _less_min_in_slot () { local ver=$1; local slot=$2; local test=9999_pre; [[ $slot != live ]] && test=${slot%.*}.$((${slot#*.} - 1)).50; version_compare $1 ${test}; (( $? != 3 )) } _pax_list_files () { local f cmd; cmd=$1; shift; for f in "$@"; do ${cmd} " ${f}"; done } _python_abi-specific_local_scope () { [[ " ${FUNCNAME[@]:2} " =~ " "(_python_final_sanity_checks|python_execute_function|python_mod_optimize|python_mod_cleanup)" " ]] } _python_calculate_PYTHON_ABIS () { if ! _python_package_supporting_installation_for_multiple_python_abis; then die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; fi; _python_initial_sanity_checks; if [[ "$(declare -p PYTHON_ABIS 2> /dev/null)" != "declare -x PYTHON_ABIS="* ]] && has "${EAPI:-0}" 0 1 2 3 4; then local PYTHON_ABI restricted_ABI restricted_ABIs support_ABI supported_PYTHON_ABIS; restricted_ABIs="${RESTRICT_PYTHON_ABIS// / }"; if [[ "$(declare -p USE_PYTHON 2> /dev/null)" == "declare -x USE_PYTHON="* ]]; then local cpython_enabled="0"; if [[ -z "${USE_PYTHON}" ]]; then die "USE_PYTHON variable is empty"; fi; for PYTHON_ABI in ${USE_PYTHON}; do if ! has "${PYTHON_ABI}" "${_PYTHON_GLOBALLY_SUPPORTED_ABIS[@]}"; then die "USE_PYTHON variable contains invalid value '${PYTHON_ABI}'"; fi; if has "${PYTHON_ABI}" "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; then cpython_enabled="1"; fi; support_ABI="1"; while read restricted_ABI; do if _python_check_python_abi_matching "${PYTHON_ABI}" "${restricted_ABI}"; then support_ABI="0"; break; fi; done <<< "${restricted_ABIs}"; [[ "${support_ABI}" == "1" ]] && export PYTHON_ABIS+="${PYTHON_ABIS:+ }${PYTHON_ABI}"; done; if [[ -z "${PYTHON_ABIS//[${IFS}]/}" ]]; then die "USE_PYTHON variable does not enable any Python ABI supported by ${CATEGORY}/${PF}"; fi; if [[ "${cpython_enabled}" == "0" ]]; then die "USE_PYTHON variable does not enable any CPython ABI"; fi; else local python_version python2_version= python3_version= support_python_major_version; if ! has_version "dev-lang/python"; then die "${FUNCNAME}(): 'dev-lang/python' is not installed"; fi; python_version="$("${EPREFIX}/usr/bin/python" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; if has_version "=dev-lang/python-2*"; then if [[ "$(readlink "${EPREFIX}/usr/bin/python2")" != "python2."* ]]; then die "'${EPREFIX}/usr/bin/python2' is not valid symlink"; fi; python2_version="$("${EPREFIX}/usr/bin/python2" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}"; do support_python_major_version="1"; while read restricted_ABI; do if _python_check_python_abi_matching "${PYTHON_ABI}" "${restricted_ABI}"; then support_python_major_version="0"; fi; done <<< "${restricted_ABIs}"; [[ "${support_python_major_version}" == "1" ]] && break; done; if [[ "${support_python_major_version}" == "1" ]]; then while read restricted_ABI; do if _python_check_python_abi_matching "${python2_version}" "${restricted_ABI}"; then die "Active version of CPython 2 is not supported by ${CATEGORY}/${PF}"; fi; done <<< "${restricted_ABIs}"; else python2_version=""; fi; fi; if has_version "=dev-lang/python-3*"; then if [[ "$(readlink "${EPREFIX}/usr/bin/python3")" != "python3."* ]]; then die "'${EPREFIX}/usr/bin/python3' is not valid symlink"; fi; python3_version="$("${EPREFIX}/usr/bin/python3" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; for PYTHON_ABI in "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; do support_python_major_version="1"; while read restricted_ABI; do if _python_check_python_abi_matching "${PYTHON_ABI}" "${restricted_ABI}"; then support_python_major_version="0"; fi; done <<< "${restricted_ABIs}"; [[ "${support_python_major_version}" == "1" ]] && break; done; if [[ "${support_python_major_version}" == "1" ]]; then while read restricted_ABI; do if _python_check_python_abi_matching "${python3_version}" "${restricted_ABI}"; then die "Active version of CPython 3 is not supported by ${CATEGORY}/${PF}"; fi; done <<< "${restricted_ABIs}"; else python3_version=""; fi; fi; if [[ -n "${python2_version}" && "${python_version}" == "2."* && "${python_version}" != "${python2_version}" ]]; then eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python2' symlink"; eerror "is set incorrectly. Use \`eselect python\` to fix configuration."; die "Incorrect configuration of Python"; fi; if [[ -n "${python3_version}" && "${python_version}" == "3."* && "${python_version}" != "${python3_version}" ]]; then eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python3' symlink"; eerror "is set incorrectly. Use \`eselect python\` to fix configuration."; die "Incorrect configuration of Python"; fi; PYTHON_ABIS="${python2_version} ${python3_version}"; PYTHON_ABIS="${PYTHON_ABIS# }"; export PYTHON_ABIS="${PYTHON_ABIS% }"; fi; fi; _python_final_sanity_checks } _python_check_python_abi_matching () { if [[ "$#" -ne 2 ]]; then die "${FUNCNAME}() requires 2 arguments"; fi; if [[ "$2" == *"-cpython" ]]; then [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+$ && "$1" == ${2%-cpython} ]]; else if [[ "$2" == *"-jython" ]]; then [[ "$1" == $2 ]]; else if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then [[ "$1" == $2 ]]; else if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then [[ "${1%-jython}" == $2 ]]; else die "${FUNCNAME}(): Unrecognized Python ABI '$1'"; fi; fi; fi; fi } _python_check_python_pkg_setup_execution () { [[ " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " ]] && return; if ! has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_PKG_SETUP_EXECUTED}" ]]; then die "python_pkg_setup() not called"; fi } _python_clean_compiled_modules () { _python_initialize_prefix_variables; _python_set_color_variables; [[ "${FUNCNAME[1]}" =~ ^(python_mod_optimize|python_mod_cleanup)$ ]] || die "${FUNCNAME}(): Invalid usage"; local base_module_name compiled_file compiled_files=() dir path py_file root; root="${EROOT%/}"; for path in "$@"; do compiled_files=(); if [[ -d "${path}" ]]; then while read -d '' -r compiled_file; do compiled_files+=("${compiled_file}"); done < <(find "${path}" "(" -name "*.py[co]" -o -name "*\$py.class" ")" -print0); if [[ "${EBUILD_PHASE}" == "postrm" ]]; then find "${path}" -type d | sort -r | while read -r dir; do if rmdir "${dir}" 2> /dev/null; then echo "${_CYAN}<<< ${dir}${_NORMAL}"; fi; done; fi; else if [[ "${path}" == *.py ]]; then base_module_name="${path##*/}"; base_module_name="${base_module_name%.py}"; if [[ -d "${path%/*}/__pycache__" ]]; then while read -d '' -r compiled_file; do compiled_files+=("${compiled_file}"); done < <(find "${path%/*}/__pycache__" "(" -name "${base_module_name}.*.py[co]" -o -name "${base_module_name}\$py.class" ")" -print0); fi; compiled_files+=("${path}c" "${path}o" "${path%.py}\$py.class"); fi; fi; for compiled_file in "${compiled_files[@]}"; do [[ ! -f "${compiled_file}" ]] && continue; dir="${compiled_file%/*}"; dir="${dir##*/}"; if [[ "${compiled_file}" == *.py[co] ]]; then if [[ "${dir}" == "__pycache__" ]]; then base_module_name="${compiled_file##*/}"; base_module_name="${base_module_name%.*py[co]}"; base_module_name="${base_module_name%.*}"; py_file="${compiled_file%__pycache__/*}${base_module_name}.py"; else py_file="${compiled_file%[co]}"; fi; if [[ "${EBUILD_PHASE}" == "postinst" ]]; then [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue; else [[ -f "${py_file}" ]] && continue; fi; echo "${_BLUE}<<< ${compiled_file%[co]}[co]${_NORMAL}"; rm -f "${compiled_file%[co]}"[co]; else if [[ "${compiled_file}" == *\$py.class ]]; then if [[ "${dir}" == "__pycache__" ]]; then base_module_name="${compiled_file##*/}"; base_module_name="${base_module_name%\$py.class}"; py_file="${compiled_file%__pycache__/*}${base_module_name}.py"; else py_file="${compiled_file%\$py.class}.py"; fi; if [[ "${EBUILD_PHASE}" == "postinst" ]]; then [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue; else [[ -f "${py_file}" ]] && continue; fi; echo "${_BLUE}<<< ${compiled_file}${_NORMAL}"; rm -f "${compiled_file}"; else die "${FUNCNAME}(): Unrecognized file type: '${compiled_file}'"; fi; fi; dir="${compiled_file%/*}"; while [[ "${dir}" != "${root}" ]]; do if rmdir "${dir}" 2> /dev/null; then echo "${_CYAN}<<< ${dir}${_NORMAL}"; else break; fi; dir="${dir%/*}"; done; done; done } _python_final_sanity_checks () { if ! _python_implementation && [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then local PYTHON_ABI="${PYTHON_ABI}"; for PYTHON_ABI in ${PYTHON_ABIS-${PYTHON_ABI}}; do if ! has_version "$(python_get_implementational_package)"; then die "$(python_get_implementational_package) is not installed"; fi; if [[ "$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")" != "${PYTHON_ABI}" ]]; then eerror "Path to 'python': '$(type -p python)'"; eerror "ABI: '${ABI}'"; eerror "DEFAULT_ABI: '${DEFAULT_ABI}'"; eerror "EPYTHON: '$(PYTHON)'"; eerror "PYTHON_ABI: '${PYTHON_ABI}'"; eerror "Locally active version of Python: '$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")'"; die "'python' does not respect EPYTHON variable"; fi; done; fi; PYTHON_SANITY_CHECKS_EXECUTED="1" } _python_get_implementation () { local ignore_invalid="0"; while (($#)); do case "$1" in --ignore-invalid) ignore_invalid="1" ;; --) shift; break ;; -*) die "${FUNCNAME}(): Unrecognized option '$1'" ;; *) break ;; esac; shift; done; if [[ "$#" -ne 1 ]]; then die "${FUNCNAME}() requires 1 argument"; fi; if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then echo "CPython"; else if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then echo "Jython"; else if [[ "${ignore_invalid}" == "0" ]]; then die "${FUNCNAME}(): Unrecognized Python ABI '$1'"; fi; fi; fi } _python_implementation () { if [[ "${CATEGORY}/${PN}" == "dev-lang/python" ]]; then return 0; else if [[ "${CATEGORY}/${PN}" == "dev-java/jython" ]]; then return 0; else return 1; fi; fi } _python_initial_sanity_checks () { if [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then if [[ "$(readlink "${EPREFIX}/usr/bin/python")" != "python-wrapper" ]]; then eerror "'${EPREFIX}/usr/bin/python' is not valid symlink."; eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."; die "'${EPREFIX}/usr/bin/python' is not valid symlink"; fi; if [[ "$(<"${EPREFIX}/usr/bin/python-config")" != *"Gentoo python-config wrapper script"* ]]; then eerror "'${EPREFIX}/usr/bin/python-config' is not valid script"; eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."; die "'${EPREFIX}/usr/bin/python-config' is not valid script"; fi; fi } _python_initialize_prefix_variables () { if has "${EAPI:-0}" 0 1 2; then if [[ -n "${ROOT}" && -z "${EROOT}" ]]; then EROOT="${ROOT%/}${EPREFIX}/"; fi; if [[ -n "${D}" && -z "${ED}" ]]; then ED="${D%/}${EPREFIX}/"; fi; fi } _python_package_supporting_installation_for_multiple_python_abis () { if [[ "${EBUILD_PHASE}" == "depend" ]]; then die "${FUNCNAME}() cannot be used in global scope"; fi; if has "${EAPI:-0}" 0 1 2 3 4; then if [[ -n "${SUPPORT_PYTHON_ABIS}" ]]; then return 0; else return 1; fi; else die "${FUNCNAME}(): Support for EAPI=\"${EAPI}\" not implemented"; fi } _python_prepare_flags () { local array=() deleted_flag element flags new_value old_flag old_value operator pattern prefix variable; for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; do eval "_PYTHON_SAVED_${variable}=\"\${!variable}\""; for prefix in PYTHON_USER_ PYTHON_; do if [[ "$(declare -p ${prefix}${variable} 2> /dev/null)" == "declare -a ${prefix}${variable}="* ]]; then eval "array=(\"\${${prefix}${variable}[@]}\")"; for element in "${array[@]}"; do if [[ "${element}" =~ ^([[:alnum:]]|\.|-|\*|\[|\])+\ (\+|-)\ .+ ]]; then pattern="${element%% *}"; element="${element#* }"; operator="${element%% *}"; flags="${element#* }"; if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then if [[ "${operator}" == "+" ]]; then eval "export ${variable}+=\"\${variable:+ }${flags}\""; else if [[ "${operator}" == "-" ]]; then flags="${flags// / }"; old_value="${!variable// / }"; new_value=""; while read old_flag; do while read deleted_flag; do if [[ "${old_flag}" == ${deleted_flag} ]]; then continue 2; fi; done <<< "${flags}"; new_value+="${new_value:+ }${old_flag}"; done <<< "${old_value}"; eval "export ${variable}=\"\${new_value}\""; fi; fi; fi; else die "Element '${element}' of ${prefix}${variable} array has invalid syntax"; fi; done; else if [[ -n "$(declare -p ${prefix}${variable} 2> /dev/null)" ]]; then die "${prefix}${variable} should be indexed array"; fi; fi; done; done } _python_restore_flags () { local variable; for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; do eval "${variable}=\"\${_PYTHON_SAVED_${variable}}\""; unset _PYTHON_SAVED_${variable}; done } _python_set_color_variables () { if [[ "${PYTHON_COLORS}" != "0" && "${NOCOLOR:-false}" =~ ^(false|no)$ ]]; then _BOLD=''; _RED=''; _GREEN=''; _BLUE=''; _CYAN=''; _NORMAL=''; else _BOLD=; _RED=; _GREEN=; _BLUE=; _CYAN=; _NORMAL=; fi } _python_test_hook () { if [[ "$#" -ne 1 ]]; then die "${FUNCNAME}() requires 1 argument"; fi; if _python_package_supporting_installation_for_multiple_python_abis && [[ "$(type -t "${FUNCNAME[3]}_$1_hook")" == "function" ]]; then "${FUNCNAME[3]}_$1_hook"; fi } _unpack_tar () { if [ "${y}" == "tar" ]; then $1 -c -- "$srcdir$x" | tar xof -; assert_sigpipe_ok "$myfail"; else $1 -c -- "${srcdir}${x}" > ${x%.*} || die "$myfail"; fi } add_blocker () { debug-print-function ${FUNCNAME} "$@"; RDEPEND+=" $(_do_blocker "$@")" } add_kdebase_dep () { debug-print-function ${FUNCNAME} "$@"; local ver; if [[ -n ${3} ]]; then ver=${3}; else if [[ -n ${KDE_OVERRIDE_MINIMAL} ]]; then ver=${KDE_OVERRIDE_MINIMAL}; else if [[ ${KDEBASE} != kde-base ]]; then ver=${KDE_MINIMAL}; else if [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && $(get_kde_version) == 4.4 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then ver=4.4.5; else if [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && ${PV} == 4.5.98 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then ver=4.5.90; else if [[ ${PV} == *.9999 ]]; then ver=$(get_kde_version); else ver=${PV}; fi; fi; fi; fi; fi; fi; [[ -z ${1} ]] && die "Missing parameter"; local use=${2:+,${2}}; if [[ ${ver} == live ]]; then echo " kde-base/${1}:live[aqua=${use}]"; else echo " >=kde-base/${1}-${ver}[aqua=${use}]"; fi } append-cflags () { [[ -z $* ]] && return 0; export CFLAGS="${CFLAGS} $*"; return 0 } append-cppflags () { [[ -z $* ]] && return 0; export CPPFLAGS="${CPPFLAGS} $*"; return 0 } append-cxxflags () { [[ -z $* ]] && return 0; export CXXFLAGS="${CXXFLAGS} $*"; return 0 } append-fflags () { [[ -z $* ]] && return 0; export FFLAGS="${FFLAGS} $*"; export FCFLAGS="${FCFLAGS} $*"; return 0 } append-flags () { [[ -z $* ]] && return 0; append-cflags "$@"; append-cxxflags "$@"; append-fflags "$@"; return 0 } append-ldflags () { [[ -z $* ]] && return 0; local flag; for flag in "$@"; do [[ ${flag} == -l* ]] && ewarn "Appending a library link instruction (${flag}); libraries to link to should not be passed through LDFLAGS"; done; export LDFLAGS="${LDFLAGS} $*"; return 0 } append-lfs-flags () { [[ -n $@ ]] && die "append-lfs-flags takes no arguments"; append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE } append-libs () { [[ -z $* ]] && return 0; local flag; for flag in "$@"; do [[ ${flag} == -l* ]] && flag=${flag#-l}; export LIBS="${LIBS} -l${flag}"; done; return 0 } autotools_check_macro () { [[ -f configure.ac || -f configure.in ]] || return 0; local macro; for macro in "$@"; do WANT_AUTOCONF="2.5" autoconf $(autotools_m4dir_include) --trace="${macro}" 2> /dev/null; done; return 0 } autotools_env_setup () { if [[ ${WANT_AUTOMAKE} == "latest" ]]; then local pv; for pv in ${_LATEST_AUTOMAKE}; do ROOT=/ has_version "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="$pv"; done; [[ ${WANT_AUTOMAKE} == "latest" ]] && die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE}"; fi; [[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.5 } autotools_get_auxdir () { local auxdir_scan_out; auxdir_scan_out=$(autotools_check_macro "AC_CONFIG_AUX_DIR"); [[ -n ${auxdir_scan_out} ]] || return 0; echo ${auxdir_scan_out} | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) { if (match($0, /AC_CONFIG_AUX_DIR:(.*)$/, res)) print res[1] }' | uniq; return 0 } autotools_get_subdirs () { local subdirs_scan_out; subdirs_scan_out=$(autotools_check_macro "AC_CONFIG_SUBDIRS"); [[ -n ${subdirs_scan_out} ]] || return 0; echo "${subdirs_scan_out}" | gawk '($0 !~ /^[[:space:]]*(#|dnl)/) { if (match($0, /AC_CONFIG_SUBDIRS:(.*)$/, res)) print res[1] }' | uniq; return 0 } autotools_m4dir_include () { [[ -n ${AT_M4DIR} ]] || return; local include_opts=; for x in ${AT_M4DIR}; do case "${x}" in "-I") ;; *) [[ ! -d ${x} ]] && ewarn "autotools.eclass: '${x}' does not exist"; include_opts="${include_opts} -I ${x}" ;; esac; done; echo $include_opts } autotools_run_tool () { if [[ ${EBUILD_PHASE} != "unpack" && ${EBUILD_PHASE} != "prepare" ]]; then ewarn "QA Warning: running $1 in ${EBUILD_PHASE} phase"; fi; autotools_env_setup; local STDERR_TARGET="${T}/$1.out"; if [[ -e ${STDERR_TARGET} ]]; then STDERR_TARGET="${T}/$1-$$.out"; fi; printf "***** $1 *****\n***** PWD: ${PWD}\n***** $*\n\n" > "${STDERR_TARGET}"; ebegin "Running $@"; "$@" >> "${STDERR_TARGET}" 2>&1; eend $?; if [[ $? != 0 && ${NO_FAIL} != 1 ]]; then echo; eerror "Failed Running $1 !"; eerror; eerror "Include in your bugreport the contents of:"; eerror; eerror " ${STDERR_TARGET}"; echo; die "Failed Running $1 !"; fi } base_src_compile () { debug-print-function $FUNCNAME "$@"; has src_configure ${BASE_EXPF} || base_src_configure; base_src_make "$@" } base_src_configure () { debug-print-function $FUNCNAME "$@"; [[ -x ${ECONF_SOURCE:-.}/configure ]] && econf "$@" } base_src_install () { debug-print-function $FUNCNAME "$@"; emake DESTDIR="${D}" "$@" install || die "died running make install, $FUNCNAME"; base_src_install_docs } base_src_install_docs () { debug-print-function $FUNCNAME "$@"; local x; pushd "${S}" > /dev/null; if [[ "$(declare -p DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then for x in "${DOCS[@]}"; do debug-print "$FUNCNAME: docs: creating document from ${x}"; dodoc "${x}" || die "dodoc failed"; done; fi; if [[ "$(declare -p HTML_DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then for x in "${HTML_DOCS[@]}"; do debug-print "$FUNCNAME: docs: creating html document from ${x}"; dohtml -r "${x}" || die "dohtml failed"; done; fi; popd > /dev/null } base_src_make () { debug-print-function $FUNCNAME "$@"; if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then emake "$@" || die "died running emake, $FUNCNAME"; fi } base_src_prepare () { debug-print-function $FUNCNAME "$@"; debug-print "$FUNCNAME: PATCHES=$PATCHES"; local patches_failed=0; pushd "${S}" > /dev/null; if [[ "$(declare -p PATCHES 2>/dev/null 2>&1)" == "declare -a"* ]]; then for x in "${PATCHES[@]}"; do debug-print "$FUNCNAME: applying patch from ${x}"; if [[ -d "${x}" ]]; then EPATCH_SUFFIX=${EPATCH_SUFFIX:=patch}; oldval=${EPATCH_SOURCE}; EPATCH_SOURCE=${x}; EPATCH_FORCE=yes; epatch; EPATCH_SOURCE=${oldval}; else if [[ -f "${x}" ]]; then epatch "${x}"; else ewarn "QA: File or directory \"${x}\" does not exist."; ewarn "QA: Check your PATCHES array or add missing file/directory."; patches_failed=1; fi; fi; done; [[ ${patches_failed} -eq 1 ]] && die "Some patches failed. See above messages."; else for x in ${PATCHES}; do debug-print "$FUNCNAME: patching from ${x}"; epatch "${x}"; done; fi; debug-print "$FUNCNAME: applying user patches"; epatch_user; popd > /dev/null } base_src_unpack () { debug-print-function $FUNCNAME "$@"; pushd "${WORKDIR}" > /dev/null; [[ -n "${A}" ]] && unpack ${A}; has src_prepare ${BASE_EXPF} || base_src_prepare; popd > /dev/null } bash-completion_pkg_postinst () { local f; if use bash-completion; then elog "The following bash-completion scripts have been installed:"; if [[ -n ${BASHCOMPLETION_NAME} ]]; then elog " ${BASHCOMPLETION_NAME}"; else set -- ${BASHCOMPFILES}; for f in "$@"; do elog " $(basename ${f})"; done; fi; elog; elog "To enable command-line completion on a per-user basis run:"; elog " eselect bashcomp enable