* * ERROR: net-www/gnash-0.8.1-r1 failed. * ENVIRONMENT FILE ALSA_CARDS='ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci' ALSA_PCM_PLUGINS='adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol' APACHE2_MODULES='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 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' ARCH=x86 CBUILD=i686-pc-linux-gnu CDEFINE_default=__unix__ CFLAGS='-O3 -march=athlon -pipe' CFLAGS_default= CHOST=i686-pc-linux-gnu CHOST_default=i686-pc-linux-gnu CLASSPATH=. CTARGET_default=i686-pc-linux-gnu CVS_RSH=ssh CXXFLAGS='-O3 -march=athlon -pipe' DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5spgyc3koS,guid=68ca5988dc7db05aea72480047b54e3b DEFAULT_ABI=default DEPEND=$'\n\tagg? ( >=x11-libs/agg-2.5 )\n\tcairo? ( x11-libs/cairo )\n\topengl? (\n\t\tvirtual/opengl\n\t\tgtk? ( x11-libs/gtkglext )\n\t)\n\t!agg? ( !cairo? ( !opengl? ( >=x11-libs/agg-2.5 ) ) )\n\tgtk? (\n\t\t>x11-libs/gtk+-2\n\t\tx11-libs/pango\n\t\tdev-libs/glib\n\t\tdev-libs/atk\n\t)\n\tkde? ( kde-base/kdelibs )\n\tqt3? ( x11-libs/qt )\n\tsdl? ( media-libs/libsdl )\n\t!gtk? ( !kde? ( !qt3? ( !sdl? ( ( !fbcon? (\n\t\t>x11-libs/gtk+-2\n\t\tx11-libs/pango\n\t\tdev-libs/glib\n\t\tdev-libs/atk\n\t\tkde-base/kdelibs\n\t) ) ) ) ) )\n\tdev-libs/libxml2\n\tsys-libs/zlib\n\tmedia-libs/jpeg\n\tmedia-libs/libpng\n\tnet-misc/curl\n\tffmpeg?\t(\n\t\tmedia-libs/libsdl\n\t\tmedia-video/ffmpeg\n\t)\n\tgstreamer? (\n\t\tmedia-plugins/gst-plugins-ffmpeg\n\t\tmedia-plugins/gst-plugins-mad\n\t)\n\tmad? ( media-libs/libmad )\n\tdev-libs/boost\n\tx11-libs/libX11\n\tx11-libs/libXi\n\tx11-libs/libXmu\n\tx11-libs/libXt\n\tx11-proto/xproto\n\t\n\tdev-util/pkgconfig ' DESCRIPTION='Gnash is a GNU Flash movie player that supports many SWF v7 features' DESKTOP_SESSION=default DESTTREE=/usr DIROPTIONS=-m0755 DM_CONTROL=/var/run/xdmctl EAPI= ELIBC=glibc EPATCH_EXCLUDE= EPATCH_FORCE=no EPATCH_MULTI_MSG='Applying various patches (bugfixes/updates) ...' EPATCH_OPTS='-g0 -E --no-backup-if-mismatch' EPATCH_SINGLE_MSG= EPATCH_SOURCE=/var/tmp/portage/net-www/gnash-0.8.1-r1/work/patch EPATCH_SUFFIX=patch.bz2 EXEOPTIONS=-m0755 FEATURES='distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch' GCC_SPECS= GDK_USE_XFT=1 GENERATION=2 GS_LIB=/root/.fonts GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/root/.gtkrc-2.0:/root/.kde/share/config/gtkrc-2.0 GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc:/root/.kde/share/config/gtkrc HOMEPAGE=http://www.gnu.org/software/gnash IFSBACKUP=$' \t\n' INHERITED='toolchain-funcs qt3 portability nsplugins versionator multilib kde-functions eutils' INPUT_DEVICES='keyboard mouse evdev' INSDESTTREE= INSOPTIONS=-m0644 IUSE=' agg cairo fbcon ffmpeg gstreamer gtk kde mad nsplugin opengl qt3 sdl video_cards_i810' JAVAC=/etc/java-config-2/current-system-vm/bin/javac JAVA_HOME=/etc/java-config-2/current-system-vm JDK_HOME=/etc/java-config-2/current-system-vm KDEDIR=/usr/kde/3.5 KDEDIRS=/usr:/usr/local:/usr/kde/3.5 KDEMAJORVER=eutils KDEMINORVER=0 KDEREVISION=0 KDE_DERIVATION_MAP=$'\nkde-base/kdeaccessibility kde-base/kbstateapplet\nkde-base/kdeaccessibility kde-base/kdeaccessibility-iconthemes\nkde-base/kdeaccessibility kde-base/kmag\nkde-base/kdeaccessibility kde-base/kmousetool\nkde-base/kdeaccessibility kde-base/kmouth\nkde-base/kdeaccessibility kde-base/kttsd\nkde-base/kdeaccessibility kde-base/ksayit\nkde-base/kdeaddons kde-base/atlantikdesigner\nkde-base/kdeaddons kde-base/kaddressbook-plugins\nkde-base/kdeaddons kde-base/kate-plugins\nkde-base/kdeaddons kde-base/kdeaddons-docs-konq-plugins\nkde-base/kdeaddons kde-base/kdeaddons-kfile-plugins\nkde-base/kdeaddons kde-base/kicker-applets\nkde-base/kdeaddons kde-base/knewsticker-scripts\nkde-base/kdeaddons kde-base/konq-plugins\nkde-base/kdeaddons kde-base/konqueror-akregator\nkde-base/kdeaddons kde-base/ksig\nkde-base/kdeaddons kde-base/noatun-plugins\nkde-base/kdeaddons kde-base/renamedlg-audio\nkde-base/kdeaddons kde-base/renamedlg-images\nkde-base/kdeadmin kde-base/kcron\nkde-base/kdeadmin kde-base/kdat\nkde-base/kdeadmin kde-base/kdeadmin-kfile-plugins\nkde-base/kdeadmin kde-base/knetworkconf\nkde-base/kdeadmin kde-base/kpackage\nkde-base/kdeadmin kde-base/ksysv\nkde-base/kdeadmin kde-base/kuser\nkde-base/kdeadmin kde-base/lilo-config\nkde-base/kdeadmin kde-base/secpolicy\nkde-base/kdeartwork kde-base/kdeartwork-emoticons\nkde-base/kdeartwork kde-base/kdeartwork-icewm-themes\nkde-base/kdeartwork kde-base/kdeartwork-iconthemes\nkde-base/kdeartwork kde-base/kdeartwork-kscreensaver\nkde-base/kdeartwork kde-base/kdeartwork-kwin-styles\nkde-base/kdeartwork kde-base/kdeartwork-kworldclock\nkde-base/kdeartwork kde-base/kdeartwork-kworldwatch\nkde-base/kdeartwork kde-base/kdeartwork-sounds\nkde-base/kdeartwork kde-base/kdeartwork-styles\nkde-base/kdeartwork kde-base/kdeartwork-wallpapers\nkde-base/kdebase kde-base/drkonqi\nkde-base/kdebase kde-base/kappfinder\nkde-base/kdebase kde-base/kate\nkde-base/kdebase kde-base/kcheckpass\nkde-base/kdebase kde-base/kcminit\nkde-base/kdebase kde-base/kcontrol\nkde-base/kdebase kde-base/kdcop\nkde-base/kdebase kde-base/kdebase-data\nkde-base/kdebase kde-base/kdebase-kioslaves\nkde-base/kdebase kde-base/kdebase-startkde\nkde-base/kdebase kde-base/kdebugdialog\nkde-base/kdebase kde-base/kdepasswd\nkde-base/kdebase kde-base/kdeprint\nkde-base/kdebase kde-base/kdesktop\nkde-base/kdebase kde-base/kdesu\nkde-base/kdebase kde-base/kdialog\nkde-base/kdebase kde-base/kdm\nkde-base/kdebase kde-base/kfind\nkde-base/kdebase kde-base/khelpcenter\nkde-base/kdebase kde-base/khotkeys\nkde-base/kdebase kde-base/kicker\nkde-base/kdebase kde-base/klipper\nkde-base/kdebase kde-base/kmenuedit\nkde-base/kdebase kde-base/knetattach\nkde-base/kdebase kde-base/konqueror\nkde-base/kdebase kde-base/konsole\nkde-base/kdebase kde-base/kpager\nkde-base/kdebase kde-base/kpersonalizer\nkde-base/kdebase kde-base/kreadconfig\nkde-base/kdebase kde-base/kscreensaver\nkde-base/kdebase kde-base/ksmserver\nkde-base/kdebase kde-base/ksplashml\nkde-base/kdebase kde-base/kstart\nkde-base/kdebase kde-base/ksysguard\nkde-base/kdebase kde-base/ksystraycmd\nkde-base/kdebase kde-base/ktip\nkde-base/kdebase kde-base/kwin\nkde-base/kdebase kde-base/kxkb\nkde-base/kdebase kde-base/libkonq\nkde-base/kdebase kde-base/nsplugins\nkde-base/kdebindings kde-base/dcopc\nkde-base/kdebindings kde-base/dcopjava\nkde-base/kdebindings kde-base/dcopperl\nkde-base/kdebindings kde-base/dcoppython\nkde-base/kdebindings kde-base/kalyptus\nkde-base/kdebindings kde-base/kdejava\nkde-base/kdebindings kde-base/kjsembed\nkde-base/kdebindings kde-base/korundum\nkde-base/kdebindings kde-base/pykde\nkde-base/kdebindings kde-base/qtjava\nkde-base/kdebindings kde-base/qtruby\nkde-base/kdebindings kde-base/qtsharp\nkde-base/kdebindings kde-base/smoke\nkde-base/kdebindings kde-base/xparts\nkde-base/kdeedu kde-base/blinken\nkde-base/kdeedu kde-base/kalzium\nkde-base/kdeedu kde-base/kanagram\nkde-base/kdeedu kde-base/kbruch\nkde-base/kdeedu kde-base/kdeedu-applnk\nkde-base/kdeedu kde-base/keduca\nkde-base/kdeedu kde-base/kgeography\nkde-base/kdeedu kde-base/khangman\nkde-base/kdeedu kde-base/kig\nkde-base/kdeedu kde-base/kiten\nkde-base/kdeedu kde-base/klatin\nkde-base/kdeedu kde-base/klettres\nkde-base/kdeedu kde-base/kmathtool\nkde-base/kdeedu kde-base/kmessedwords\nkde-base/kdeedu kde-base/kmplot\nkde-base/kdeedu kde-base/kpercentage\nkde-base/kdeedu kde-base/kstars\nkde-base/kdeedu kde-base/ktouch\nkde-base/kdeedu kde-base/kturtle\nkde-base/kdeedu kde-base/kverbos\nkde-base/kdeedu kde-base/kvoctrain\nkde-base/kdeedu kde-base/kwordquiz\nkde-base/kdeedu kde-base/libkdeedu\nkde-base/kdegames kde-base/atlantik\nkde-base/kdegames kde-base/kasteroids\nkde-base/kdegames kde-base/katomic\nkde-base/kdegames kde-base/kbackgammon\nkde-base/kdegames kde-base/kbattleship\nkde-base/kdegames kde-base/kblackbox\nkde-base/kdegames kde-base/kbounce\nkde-base/kdegames kde-base/kenolaba\nkde-base/kdegames kde-base/kfouleggs\nkde-base/kdegames kde-base/kgoldrunner\nkde-base/kdegames kde-base/kjumpingcube\nkde-base/kdegames kde-base/klickety\nkde-base/kdegames kde-base/klines\nkde-base/kdegames kde-base/kmahjongg\nkde-base/kdegames kde-base/kmines\nkde-base/kdegames kde-base/knetwalk\nkde-base/kdegames kde-base/kolf\nkde-base/kdegames kde-base/konquest\nkde-base/kdegames kde-base/kpat\nkde-base/kdegames kde-base/kpoker\nkde-base/kdegames kde-base/kreversi\nkde-base/kdegames kde-base/ksame\nkde-base/kdegames kde-base/kshisen\nkde-base/kdegames kde-base/ksirtet\nkde-base/kdegames kde-base/ksmiletris\nkde-base/kdegames kde-base/ksnake\nkde-base/kdegames kde-base/ksokoban\nkde-base/kdegames kde-base/kspaceduel\nkde-base/kdegames kde-base/ktron\nkde-base/kdegames kde-base/ktuberling\nkde-base/kdegames kde-base/kwin4\nkde-base/kdegames kde-base/libkdegames\nkde-base/kdegames kde-base/libksirtet\nkde-base/kdegames kde-base/lskat\nkde-base/kdegraphics kde-base/kamera\nkde-base/kdegraphics kde-base/kcoloredit\nkde-base/kdegraphics kde-base/kdegraphics-kfile-plugins\nkde-base/kdegraphics kde-base/kdvi\nkde-base/kdegraphics kde-base/kfax\nkde-base/kdegraphics kde-base/kgamma\nkde-base/kdegraphics kde-base/kghostview\nkde-base/kdegraphics kde-base/kiconedit\nkde-base/kdegraphics kde-base/kmrml\nkde-base/kdegraphics kde-base/kolourpaint\nkde-base/kdegraphics kde-base/kooka\nkde-base/kdegraphics kde-base/kpdf\nkde-base/kdegraphics kde-base/kpovmodeler\nkde-base/kdegraphics kde-base/kruler\nkde-base/kdegraphics kde-base/ksnapshot\nkde-base/kdegraphics kde-base/ksvg\nkde-base/kdegraphics kde-base/kuickshow\nkde-base/kdegraphics kde-base/kview\nkde-base/kdegraphics kde-base/kviewshell\nkde-base/kdegraphics kde-base/libkscan\nkde-base/kdemultimedia kde-base/akode\nkde-base/kdemultimedia kde-base/artsplugin-akode\nkde-base/kdemultimedia kde-base/artsplugin-audiofile\nkde-base/kdemultimedia kde-base/artsplugin-mpeglib\nkde-base/kdemultimedia kde-base/artsplugin-mpg123\nkde-base/kdemultimedia kde-base/artsplugin-xine\nkde-base/kdemultimedia kde-base/juk\nkde-base/kdemultimedia kde-base/kaboodle\nkde-base/kdemultimedia kde-base/kaudiocreator\nkde-base/kdemultimedia kde-base/kdemultimedia-arts\nkde-base/kdemultimedia kde-base/kdemultimedia-kappfinder-data\nkde-base/kdemultimedia kde-base/kdemultimedia-kfile-plugins\nkde-base/kdemultimedia kde-base/kdemultimedia-kioslaves\nkde-base/kdemultimedia kde-base/kmid\nkde-base/kdemultimedia kde-base/kmix\nkde-base/kdemultimedia kde-base/krec\nkde-base/kdemultimedia kde-base/kscd\nkde-base/kdemultimedia kde-base/libkcddb\nkde-base/kdemultimedia kde-base/mpeglib\nkde-base/kdemultimedia kde-base/noatun\nkde-base/kdenetwork kde-base/dcoprss\nkde-base/kdenetwork kde-base/kdenetwork-filesharing\nkde-base/kdenetwork kde-base/kdenetwork-kfile-plugins\nkde-base/kdenetwork kde-base/kdict\nkde-base/kdenetwork kde-base/kdnssd\nkde-base/kdenetwork kde-base/kget\nkde-base/kdenetwork kde-base/knewsticker\nkde-base/kdenetwork kde-base/kopete\nkde-base/kdenetwork kde-base/kpf\nkde-base/kdenetwork kde-base/kppp\nkde-base/kdenetwork kde-base/krdc\nkde-base/kdenetwork kde-base/krfb\nkde-base/kdenetwork kde-base/ksirc\nkde-base/kdenetwork kde-base/ktalkd\nkde-base/kdenetwork kde-base/kwifimanager\nkde-base/kdenetwork kde-base/librss\nkde-base/kdenetwork kde-base/lisa\nkde-base/kdepim kde-base/akregator\nkde-base/kdepim kde-base/certmanager\nkde-base/kdepim kde-base/kaddressbook\nkde-base/kdepim kde-base/kalarm\nkde-base/kdepim kde-base/kandy\nkde-base/kdepim kde-base/karm\nkde-base/kdepim kde-base/kdepim-kioslaves\nkde-base/kdepim kde-base/kdepim-kresources\nkde-base/kdepim kde-base/kdepim-wizards\nkde-base/kdepim kde-base/kitchensync\nkde-base/kdepim kde-base/kmail\nkde-base/kdepim kde-base/kmailcvt\nkde-base/kdepim kde-base/knode\nkde-base/kdepim kde-base/knotes\nkde-base/kdepim kde-base/kode\nkde-base/kdepim kde-base/konsolekalendar\nkde-base/kdepim kde-base/kontact\nkde-base/kdepim kde-base/kontact-specialdates\nkde-base/kdepim kde-base/korganizer\nkde-base/kdepim kde-base/korn\nkde-base/kdepim kde-base/kpilot\nkde-base/kdepim kde-base/ksync\nkde-base/kdepim kde-base/ktnef\nkde-base/kdepim kde-base/libkcal\nkde-base/kdepim kde-base/libkdenetwork\nkde-base/kdepim kde-base/libkdepim\nkde-base/kdepim kde-base/libkholidays\nkde-base/kdepim kde-base/libkmime\nkde-base/kdepim kde-base/libkpgp\nkde-base/kdepim kde-base/libkpimexchange\nkde-base/kdepim kde-base/libkpimidentities\nkde-base/kdepim kde-base/libksieve\nkde-base/kdepim kde-base/mimelib\nkde-base/kdepim kde-base/networkstatus\nkde-base/kdesdk kde-base/cervisia\nkde-base/kdesdk kde-base/kapptemplate\nkde-base/kdesdk kde-base/kbabel\nkde-base/kdesdk kde-base/kbugbuster\nkde-base/kdesdk kde-base/kcachegrind\nkde-base/kdesdk kde-base/kdesdk-kfile-plugins\nkde-base/kdesdk kde-base/kdesdk-kioslaves\nkde-base/kdesdk kde-base/kdesdk-misc\nkde-base/kdesdk kde-base/kdesdk-scripts\nkde-base/kdesdk kde-base/kmtrace\nkde-base/kdesdk kde-base/kompare\nkde-base/kdesdk kde-base/kspy\nkde-base/kdesdk kde-base/kuiviewer\nkde-base/kdesdk kde-base/umbrello\nkde-base/kdetoys kde-base/amor\nkde-base/kdetoys kde-base/eyesapplet\nkde-base/kdetoys kde-base/fifteenapplet\nkde-base/kdetoys kde-base/kmoon\nkde-base/kdetoys kde-base/kodo\nkde-base/kdetoys kde-base/kteatime\nkde-base/kdetoys kde-base/ktux\nkde-base/kdetoys kde-base/kweather\nkde-base/kdetoys kde-base/kworldclock\nkde-base/kdetoys kde-base/kworldwatch\nkde-base/kdeutils kde-base/ark\nkde-base/kdeutils kde-base/kcalc\nkde-base/kdeutils kde-base/kcharselect\nkde-base/kdeutils kde-base/kdelirc\nkde-base/kdeutils kde-base/kdf\nkde-base/kdeutils kde-base/kedit\nkde-base/kdeutils kde-base/kfloppy\nkde-base/kdeutils kde-base/kgpg\nkde-base/kdeutils kde-base/khexedit\nkde-base/kdeutils kde-base/kjots\nkde-base/kdeutils kde-base/klaptopdaemon\nkde-base/kdeutils kde-base/kmilo\nkde-base/kdeutils kde-base/kregexpeditor\nkde-base/kdeutils kde-base/ksim\nkde-base/kdeutils kde-base/ktimer\nkde-base/kdeutils kde-base/kwalletmanager\nkde-base/kdeutils kde-base/superkaramba\nkde-base/kdewebdev kde-base/kfilereplace\nkde-base/kdewebdev kde-base/kimagemapeditor\nkde-base/kdewebdev kde-base/klinkstatus\nkde-base/kdewebdev kde-base/kommander\nkde-base/kdewebdev kde-base/kxsldbg\nkde-base/kdewebdev kde-base/quanta\napp-office/koffice app-office/karbon\napp-office/koffice app-office/kchart\napp-office/koffice app-office/kexi\napp-office/koffice app-office/kformula\napp-office/koffice app-office/kivio\napp-office/koffice app-office/koffice-data\napp-office/koffice app-office/koffice-libs\napp-office/koffice app-office/koffice-meta\napp-office/koffice app-office/koshell\napp-office/koffice app-office/kplato\napp-office/koffice app-office/kpresenter\napp-office/koffice app-office/krita\napp-office/koffice app-office/kspread\napp-office/koffice app-office/kugar\napp-office/koffice app-office/kword\n' KDE_FULL_SESSION=true KDE_MULTIHEAD=false KDE_SESSION_UID=0 KERNEL=linux KERNEL_ABI=default KEYWORDS='~amd64 ~ppc ~sparc ~x86 ~x86-fbsd' KONSOLE_DCOP='DCOPRef(konsole-10764,konsole)' KONSOLE_DCOP_SESSION='DCOPRef(konsole-10764,session-1)' KV=2.6.24-gentoo-r2 LCD_DEVICES='bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text' LDFLAGS_default= LDPATH=/usr/kde/3.5/lib: LIBDIR_default=lib LIBOPTIONS=-m0644 LICENSE=GPL-3 MAKEOPTS=-j2 MULTILIB_ABIS=default OPENGL_PROFILE=nvidia PDEPEND=' ' PKG_CONFIG_PATH=/usr/qt/3/lib/pkgconfig PLUGINS_DIR=nsbrowser/plugins PORTAGE_TMPFS=/dev/shm PREFIX=/usr PROVIDE= PYTHONPATH=/usr/lib/portage/pym QMAKESPEC=linux-g++ QT3MAJORVERSIONS='3.3 3.2 3.1 3.0' QT3VERSIONS='3.3.8-r4 3.3.8-r3 3.3.8-r2 3.3.8-r1 3.3.8 3.3.6-r5 3.3.6-r4 3.3.6-r3 3.3.6-r2 3.3.6-r1 3.3.6 3.3.5-r1 3.3.5 3.3.4-r9 3.3.4-r8 3.3.4-r7 3.3.4-r6 3.3.4-r5 3.3.4-r4 3.3.4-r3 3.3.4-r2 3.3.4-r1 3.3.4 3.3.3-r3 3.3.3-r2 3.3.3-r1 3.3.3 3.3.2 3.3.1-r2 3.3.1-r1 3.3.1 3.3.0-r1 3.3.0 3.2.3-r1 3.2.3 3.2.2-r1 3.2.2 3.2.1-r2 3.2.1-r1 3.2.1 3.2.0 3.1.2-r4 3.1.2-r3 3.1.2-r2 3.1.2-r1 3.1.2 3.1.1-r2 3.1.1-r1 3.1.1 3.1.0-r3 3.1.0-r2 3.1.0-r1 3.1.0' QTDIR=/usr/qt/3 QTPKG=x11-libs/qt- RDEPEND=$'\n\tagg? ( >=x11-libs/agg-2.5 )\n\tcairo? ( x11-libs/cairo )\n\topengl? (\n\t\tvirtual/opengl\n\t\tgtk? ( x11-libs/gtkglext )\n\t)\n\t!agg? ( !cairo? ( !opengl? ( >=x11-libs/agg-2.5 ) ) )\n\tgtk? (\n\t\t>x11-libs/gtk+-2\n\t\tx11-libs/pango\n\t\tdev-libs/glib\n\t\tdev-libs/atk\n\t)\n\tkde? ( kde-base/kdelibs )\n\tqt3? ( x11-libs/qt )\n\tsdl? ( media-libs/libsdl )\n\t!gtk? ( !kde? ( !qt3? ( !sdl? ( ( !fbcon? (\n\t\t>x11-libs/gtk+-2\n\t\tx11-libs/pango\n\t\tdev-libs/glib\n\t\tdev-libs/atk\n\t\tkde-base/kdelibs\n\t) ) ) ) ) )\n\tdev-libs/libxml2\n\tsys-libs/zlib\n\tmedia-libs/jpeg\n\tmedia-libs/libpng\n\tnet-misc/curl\n\tffmpeg?\t(\n\t\tmedia-libs/libsdl\n\t\tmedia-video/ffmpeg\n\t)\n\tgstreamer? (\n\t\tmedia-plugins/gst-plugins-ffmpeg\n\t\tmedia-plugins/gst-plugins-mad\n\t)\n\tmad? ( media-libs/libmad )\n\tdev-libs/boost\n\tx11-libs/libX11\n\tx11-libs/libXi\n\tx11-libs/libXmu\n\tx11-libs/libXt\n\tx11-proto/xproto\n\t ' RESTRICT= RSYNC=rsync://rsync.au.gentoo.org/gentoo-portage S=/var/tmp/portage/net-www/gnash-0.8.1-r1/work/gnash-0.8.1 SANDBOX_DENY=/etc/ld.so.preload SANDBOX_PREDICT=:/dev/console:/dev/random:/proc/self/maps:/usr/lib/portage/pym:/usr/lib/python2.0/:/usr/lib/python2.1/:/usr/lib/python2.2/:/usr/lib/python2.3/:/usr/lib/python2.4/:/usr/lib/python2.5/:/usr/lib/python3.0/:/usr/qt/3/etc/settings:/var/cache/edb/dep:/var/db/aliases.db:/var/db/ethers.db:/var/db/group.db:/var/db/hosts.db:/var/db/netgroup.db:/var/db/netmasks.db:/var/db/networks.db:/var/db/passwd.db:/var/db/protocols.db:/var/db/rpc.db:/var/db/services.db:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.: SANDBOX_READ=:/:/dev/shm:/dev/stdin:/var/tmp: SANDBOX_WRITE=:/dev/console:/dev/fd:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/shm/ngpt:/dev/stderr:/dev/stdout:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/qt/3/etc/settings:/usr/tmp/cf:/usr/tmp/conftest:/var/log/scrollkeeper.log:/var/tmp:/var/tmp/:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.bash_history:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.gconfd/lock: SANE_CONFIG_DIR=/etc/sane.d SESSION_MANAGER=local/schrdlu-10:/tmp/.ICE-unix/10744 SLOT=0 SRC_URI=mirror://gnu/gnash/0.8.1/gnash-0.8.1.tar.bz2 STAGE1_USE='nptl nptlonly unicode' USB_DEVFS_PATH=/dev/bus/usb USE='elibc_glibc ffmpeg gstreamer gtk kde kernel_linux mad opengl qt3 userland_GNU x86' USERLAND=GNU VIDEO_CARDS='nvidia nv' VMHANDLE=blackdown-jdk-1.4.2 WINDOWID=31457285 XCURSOR_THEME=default XDG_CONFIG_DIRS=/usr/kde/3.5/etc/xdg XDG_DATA_DIRS=/usr/share:/usr/kde/3.5/share:/usr/local/share XDM_MANAGED=/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,rsvd,method=classic _=_RC_GET_KV_CACHE _E_DOCDESTTREE_= _E_EXEDESTTREE_= ___ECLASS_RECUR_MULTILIB=yes ___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes _pipestatus='0 0' conf=gnash-0.8.1-r1 str='set-kdedir: entering function' __versionator__test_version_compare () { __versionator_shopt_toggle on; 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; __versionator_shopt_toggle off } __versionator_shopt_toggle () { VERSIONATOR_RECURSION=${VERSIONATOR_RECURSION:-0}; case "$1" in "on") if [[ $VERSIONATOR_RECURSION -lt 1 ]]; then VERSIONATOR_OLD_EXTGLOB=$(shopt -p extglob); shopt -s extglob; fi; VERSIONATOR_RECURSION=$(( $VERSIONATOR_RECURSION + 1 )) ;; "off") VERSIONATOR_RECURSION=$(( $VERSIONATOR_RECURSION - 1 )); if [[ $VERSIONATOR_RECURSION -lt 1 ]]; then eval $VERSIONATOR_OLD_EXTGLOB; fi ;; esac; return 0 } _cdrom_locate_file_on_cd () { local mline=""; local showedmsg=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; einfo "If you are having trouble with the detection"; einfo "of your CD, it is possible that you do not have"; einfo "Joliet support enabled in your kernel. Please"; einfo "check that CONFIG_JOLIET is enabled in your kernel."; read || die "something is screwed with your system"; done } _gcc-install-dir () { echo "$($(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 ]] } buildsycoca () { [[ $EBUILD_PHASE != postinst ]] && [[ $EBUILD_PHASE != postrm ]] && die "buildsycoca() has to be calles in pkg_postinst() and pkg_postrm()."; if [[ -x ${KDEDIR}/bin/kbuildsycoca ]] && [[ -z ${ROOT} || ${ROOT} == "/" ]]; then mkdir -p /usr/share/services; chown root:0 /usr/share/services; chmod 0755 /usr/share/services; ebegin "Running kbuildsycoca to build global database"; XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share"; ${KDEDIR}/bin/kbuildsycoca --global --noincremental >&/dev/null; eend $?; fi } built_with_use () { local hidden="no"; if [[ $1 == "--hidden" ]]; then hidden="yes"; shift; fi; local missing_action="die"; if [[ $1 == "--missing" ]]; then missing_action=$2; shift; shift; case ${missing_action} in true | false | die) ;; *) die "unknown action '${missing_action}'" ;; esac; fi; local opt=$1; [[ ${opt:0:1} = "-" ]] && shift || opt="-a"; local PKG=$(best_version $1); [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package"; shift; local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE; local IUSEFILE=${ROOT}/var/db/pkg/${PKG}/IUSE; if [[ ! -e ${USEFILE} ]] || [[ ! -e ${IUSEFILE} && ${hidden} == "no" ]]; then case ${missing_action} in true) return 0 ;; false) return 1 ;; die) die "Unable to determine what USE flags $PKG was built with" ;; esac; fi; if [[ ${hidden} == "no" ]]; then local IUSE_BUILT=$(<${IUSEFILE}); local expand; for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]'); do if [[ $1 == ${expand}_* ]]; then expand=""; break; fi; done; if [[ -n ${expand} ]]; then if ! has $1 ${IUSE_BUILT}; then case ${missing_action} in true) return 0 ;; false) return 1 ;; die) die "$PKG does not actually support the $1 USE flag!" ;; esac; fi; fi; fi; local USE_BUILT=$(<${USEFILE}); while [[ $# -gt 0 ]]; do if [[ ${opt} = "-o" ]]; then has $1 ${USE_BUILT} && return 0; else has $1 ${USE_BUILT} || return 1; fi; shift; done; [[ ${opt} = "-a" ]] } cdrom_get_cds () { local cdcnt=0; local f=; for f in "$@"; do ((++cdcnt)); export CDROM_CHECK_${cdcnt}="$f"; done; export CDROM_TOTAL_CDS=${cdcnt}; export CDROM_CURRENT_CD=1; if [[ -n ${CD_ROOT}${CD_ROOT_1} ]]; then local var=; cdcnt=0; while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do ((++cdcnt)); var="CD_ROOT_${cdcnt}"; [[ -z ${!var} ]] && var="CD_ROOT"; if [[ -z ${!var} ]]; then eerror "You must either use just the CD_ROOT"; eerror "or specify ALL the CD_ROOT_X variables."; eerror "In this case, you will need ${CDROM_TOTAL_CDS} CD_ROOT_X variables."; die "could not locate CD_ROOT_${cdcnt}"; fi; done; export CDROM_ROOT=${CD_ROOT_1:-${CD_ROOT}}; einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"; export CDROM_SET=-1; for f in ${CDROM_CHECK_1//:/ }; do ((++CDROM_SET)); [[ -e ${CD_ROOT}/${f} ]] && break; done; export CDROM_MATCH=${f}; return; fi; if [[ ${CDROM_TOTAL_CDS} -eq 1 ]]; then einfo "This ebuild will need the ${CDROM_NAME:-cdrom for ${PN}}"; echo; einfo "If you do not have the CD, but have the data files"; einfo "mounted somewhere on your filesystem, just export"; einfo "the variable CD_ROOT so that it points to the"; einfo "directory containing the files."; echo; einfo "For example:"; einfo "export CD_ROOT=/mnt/cdrom"; echo; else if [[ -n ${CDROM_NAME_SET} ]]; then cdcnt=0; while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do ((++cdcnt)); export CDROM_NAME_${cdcnt}="${CDROM_NAME_SET[$((${cdcnt}-1))]}"; done; fi; einfo "This package will need access to ${CDROM_TOTAL_CDS} cds."; cdcnt=0; while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do ((++cdcnt)); var="CDROM_NAME_${cdcnt}"; [[ ! -z ${!var} ]] && einfo " CD ${cdcnt}: ${!var}"; done; echo; einfo "If you do not have the CDs, but have the data files"; einfo "mounted somewhere on your filesystem, just export"; einfo "the following variables so they point to the right place:"; einfon ""; cdcnt=0; while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]]; do ((++cdcnt)); echo -n " CD_ROOT_${cdcnt}"; done; echo; einfo "Or, if you have all the files in the same place, or"; einfo "you only have one cdrom, you can export CD_ROOT"; einfo "and that place will be used as the same data source"; einfo "for all the CDs."; echo; einfo "For example:"; einfo "export CD_ROOT_1=/mnt/cdrom"; echo; fi; export CDROM_SET=""; export CDROM_CURRENT_CD=0; cdrom_load_next_cd } cdrom_load_next_cd () { local var; ((++CDROM_CURRENT_CD)); unset CDROM_ROOT; var=CD_ROOT_${CDROM_CURRENT_CD}; [[ -z ${!var} ]] && var="CD_ROOT"; if [[ -z ${!var} ]]; then var="CDROM_CHECK_${CDROM_CURRENT_CD}"; _cdrom_locate_file_on_cd ${!var}; else export CDROM_ROOT=${!var}; fi; einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" } check_license () { local lic=$1; if [ -z "${lic}" ]; then lic="${PORTDIR}/licenses/${LICENSE}"; else if [ -e "${PORTDIR}/licenses/${lic}" ]; then lic="${PORTDIR}/licenses/${lic}"; else if [ -e "${PWD}/${lic}" ]; then lic="${PWD}/${lic}"; else if [ -e "${lic}" ]; then lic="${lic}"; fi; fi; fi; fi; [ ! -f "${lic}" ] && die "Could not find requested license ${lic}"; local l="`basename ${lic}`"; local shopts=$-; local alic; set -o noglob; for alic in ${ACCEPT_LICENSE}; do if [[ ${alic} == ${l} ]]; then set +o noglob; set -${shopts}; return 0; fi; done; set +o noglob; set -$shopts; local licmsg=$(emktemp); cat > ${licmsg} <<-EOF ********************************************************** The following license outlines the terms of use of this package. You MUST accept this license for installation to continue. When you are done viewing, hit 'q'. If you CTRL+C out of this, the install will not run! ********************************************************** EOF cat ${lic} >> ${licmsg}; ${PAGER:-less} ${licmsg} || die "Could not execute pager (${PAGER}) to accept ${lic}"; einfon "Do you accept the terms of this license (${l})? [yes/no] "; read alic; case ${alic} in yes | Yes | y | Y) return 0 ;; *) echo; echo; echo; eerror "You MUST accept the license to continue! Exiting!"; die "Failed to accept license" ;; esac } create_ml_includes () { local dest=$1; shift; local basedirs=$(create_ml_includes-listdirs "$@"); create_ml_includes-makedestdirs ${dest} ${basedirs}; local file; for file in $(create_ml_includes-allfiles ${basedirs}); do ( echo "/* Autogenerated by create_ml_includes() in multilib.eclass */"; local dir; for dir in ${basedirs}; do if [[ -f ${D}/${dir}/${file} ]]; then echo ""; local sym=$(create_ml_includes-sym_for_dir ${dir} "$@"); if [[ ${sym/=} != "${sym}" ]]; then echo "#if ${sym}"; else if [[ ${sym::1} == "!" ]]; then echo "#ifndef ${sym:1}"; else echo "#ifdef ${sym}"; fi; fi; echo "# include <$(create_ml_includes-absolute ${dir}/${file})>"; echo "#endif /* ${sym} */"; fi; done ) > "${D}/${dest}/${file}"; done } create_ml_includes-absolute () { local dst="$(create_ml_includes-tidy_path $1)"; dst=(${dst//\// }); local i; for ((i=0; i<${#dst[*]}; i++)) do [ "${dst[i]}" == "include" ] && break; done; local strip_upto=$i; for ((i=strip_upto+1; i<${#dst[*]}-1; i++)) do echo -n ${dst[i]}/; done; echo -n ${dst[i]} } create_ml_includes-allfiles () { local basedir file; for basedir in "$@"; do for file in $(find "${D}"/${basedir} -type f); do echo ${file/${D}\/${basedir}\//}; done; done | sort | uniq } create_ml_includes-listdirs () { local dirs; local data; for data in "$@"; do dirs="${dirs} ${data/*:/}"; done; echo ${dirs:1} } create_ml_includes-makedestdirs () { local dest=$1; shift; local basedirs=$@; dodir ${dest}; local basedir; for basedir in ${basedirs}; do local dir; for dir in $(find ${D}/${basedir} -type d); do dodir ${dest}/${dir/${D}\/${basedir}/}; done; done } create_ml_includes-sym_for_dir () { local dir=$1; shift; local data; for data in "$@"; do if [[ ${data} == *:${dir} ]]; then echo ${data/:*/}; return 0; fi; done; echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@"; exit 1 } create_ml_includes-tidy_path () { local removed=$1; if [ -n "${removed}" ]; then while [ "${removed}" != "${removed/\/\//\/}" ]; do removed=${removed/\/\//\/}; done; while [ "${removed}" != "${removed//\/.\//\/}" ]; do removed=${removed//\/.\//\/}; done; [ "${removed##*/}" = "." ] && removed=${removed%/*}; while [ "${removed}" != "${removed//\/..\/}" ]; do local p1="${removed%%\/..\/*}"; local p2="${removed#*\/..\/}"; removed="${p1%\/*}/${p2}"; done; [ "${removed##*/}" = ".." ] && removed=${removed%/*/*}; [ "${removed##*/}" = "" ] && removed=${removed%/*}; echo ${removed}; fi } delete_all_version_separators () { __versionator_shopt_toggle on; replace_all_version_separators "" "${1}"; __versionator_shopt_toggle off } delete_version_separator () { __versionator_shopt_toggle on; replace_version_separator "${1}" "" "${2}"; __versionator_shopt_toggle off } deprange () { local list="$(deprange-list $@)"; if [[ ${list%% *} == "${list}" ]]; then echo "${list}"; else echo "|| ( ${list} )"; fi } deprange-dual () { local MIN=$1 MAX=$2 NEWDEP=""; shift; shift; for PACKAGE in $@; do PARENT=$(get-parent-package $PACKAGE); NEWDEP="$NEWDEP || ( $(deprange-list $MIN $MAX $PACKAGE)"; if [ "$PARENT" != "$(get-parent-package $CATEGORY/$PN)" ]; then NEWDEP="$NEWDEP $(deprange-list $MIN $MAX $PARENT)"; fi; NEWDEP="$NEWDEP )"; done; echo -n $NEWDEP } deprange-iterate-numbers () { local package=$1 lower=$2 upper=$3 i newdep=""; for ((i=$upper ; $i >= $lower ; i-- )) do newdep="$newdep ${package}${i}"; done; echo -n $newdep } deprange-iterate-suffixes () { local NAME=$1 MINSUFFIX=$2 MAXSUFFIX=$3; if [ "$MINSUFFIX" != "${MINSUFFIX/-}" ]; then local MINREV=${MINSUFFIX##*-}; fi; MINSUFFIX=${MINSUFFIX%-*}; local MINalpha MINbeta MINpre MINrc; if [ "$MINSUFFIX" != "${MINSUFFIX/alpha}" ]; then MINalpha="${MINSUFFIX##alpha}"; else if [ "$MINSUFFIX" != "${MINSUFFIX/beta}" ]; then MINbeta="${MINSUFFIX##beta}"; else if [ "$MINSUFFIX" != "${MINSUFFIX/pre}" ]; then MINpre="${MINSUFFIX##pre}"; else if [ "$MINSUFFIX" != "${MINSUFFIX/rc}" ]; then MINrc="${MINSUFFIX##rc}"; else die "deprange(): version suffix $MINSUFFIX (probably _pN) not supported"; fi; fi; fi; fi; local MAXalpha MAXbeta MAXpre MAXrc; if [ "$MAXSUFFIX" != "${MAXSUFFIX/alpha}" ]; then MAXalpha="${MAXSUFFIX##alpha}"; else if [ "$MAXSUFFIX" != "${MAXSUFFIX/beta}" ]; then MAXbeta="${MAXSUFFIX##beta}"; else if [ "$MAXSUFFIX" != "${MAXSUFFIX/pre}" ]; then MAXpre="${MAXSUFFIX##pre}"; else if [ "$MAXSUFFIX" != "${MAXSUFFIX/rc}" ]; then MAXrc="${MAXSUFFIX##rc}"; else die "deprange(): version suffix $MAXSUFFIX (probably _pN) not supported"; fi; fi; fi; fi; local started="" NEWDEP="" var; for suffix in rc pre beta alpha; do local upper="" lower=""; if [ -n "$started" ]; then upper=10; else var=MAX$suffix; if [ -n "${!var}" ]; then upper=${!var}; started=yes; fi; fi; if [ -n "$upper" ]; then var=MIN$suffix; if [ -n "${!var}" ]; then lower=${!var}; if [ -n "$MINREV" ]; then let lower++; fi; else lower=1; fi; NEWDEP="$NEWDEP $(deprange-iterate-numbers ${NAME}_${suffix} $lower $upper)"; if [ -n "${!var}" ]; then break; fi; fi; done; echo -n $NEWDEP } deprange-list () { local MINVER=$1; shift; local MAXVER=$1; shift; if [ "$MINVER" == "3.5_beta1" ]; then MINVER="3.5.0_beta1"; FINALOPTIONVER="3.5_beta1"; fi; if [ "$MAXVER" == "3.5_beta1" ]; then MAXVER="3.5.0_beta1"; fi; local BASEVER=${MINVER%.*}; if [ "${MAXVER%.*}" != "$BASEVER" ]; then die "deprange(): unsupported parameters $MINVER $MAXVER - BASEVER must be identical"; fi; local MINSUFFIX MAXSUFFIX; if [ "$MINVER" != "${MINVER/_}" ]; then MINSUFFIX=${MINVER##*_}; SUFFIXLESSMINVER=${MINVER%_*}; else SUFFIXLESSMINVER=$MINVER; fi; if [ "$MAXVER" != "${MAXVER/_}" ]; then MAXSUFFIX=${MAXVER##*_}; SUFFIXLESSMAXVER=${MAXVER%_*}; else SUFFIXLESSMAXVER=$MAXVER; fi; if [ "$MINVER" != "${MINVER/-}" ]; then local MINREV=${MINVER##*-}; fi; local MINMINOR=${SUFFIXLESSMINVER##*.}; local MAXMINOR=${SUFFIXLESSMAXVER##*.}; while [ -n "$1" ]; do local PACKAGE=$1; shift; local NEWDEP=""; if [ "$MINVER" == "$MAXVER" ]; then NEWDEP="~$PACKAGE-$MINVER"; else if [ "$MINMINOR" == "$MAXMINOR" ]; then NEWDEP="$(deprange-iterate-suffixes "~$PACKAGE-$BASEVER.$MINMINOR" $MINSUFFIX $MAXSUFFIX)"; if [ -n "$MINREV" ]; then NEWDEP="$NEWDEP $(deprange-iterate-numbers "=$PACKAGE-$BASEVER.${MINMINOR}_$MINSUFFIX-r" $MINREV 50)"; fi; else if [ -n "$MAXSUFFIX" ]; then NEWDEP="$(deprange-iterate-suffixes "~$PACKAGE-$BASEVER.$MAXMINOR" alpha1 $MAXSUFFIX)"; fi; STARTMINOR="${MINMINOR}"; if [ -n "$MINREV" -a -z "$MINSUFFIX" ]; then let STARTMINOR++; fi; NEWDEP="$NEWDEP $(deprange-iterate-numbers "~${PACKAGE}-${BASEVER}." $STARTMINOR $MAXMINOR)"; if [ -n "$MINSUFFIX" ]; then NEWDEP="$NEWDEP $(deprange-iterate-suffixes "~$PACKAGE-$BASEVER.$MINMINOR" $MINSUFFIX rc10)"; fi; if [ -n "$MINREV" ]; then local BASE; if [ -n "$MINSUFFIX" ]; then BASE="=$PACKAGE-$BASEVER.${MINMINOR}_${MINSUFFIX%-r*}-r"; else BASE="=$PACKAGE-$BASEVER.${MINMINOR%-r*}-r"; fi; NEWDEP="$NEWDEP $(deprange-iterate-numbers $BASE ${MINREV#r} 50)"; fi; fi; fi; if [ -n "$FINALOPTIONVER" ]; then NEWDEP="$NEWDEP ~$PACKAGE-$FINALOPTIONVER"; fi; echo -n $NEWDEP; done } dlopen_lib () { if [[ ${ELIBC} != *BSD ]]; then echo "-ldl"; fi } doicon () { ( local i j ret; insinto /usr/share/pixmaps; for i in "$@"; do if [[ -f ${i} ]]; then doins "${i}"; ((ret+=$?)); else if [[ -d ${i} ]]; then for j in "${i}"/*.png; do doins "${j}"; ((ret+=$?)); done; else ((++ret)); fi; fi; done; exit ${ret} ) } 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 () { local n; if [[ -z ${EBEEP_IGNORE} ]]; then for ((n=1 ; n <= ${1:-5} ; n++)) do echo -ne "\a"; sleep 0.1 >&/dev/null; sleep 0,1 >&/dev/null; echo -ne "\a"; sleep 1; done; fi } edos2unix () { echo "$@" | xargs sed -i 's/\r$//' } egetent () { case ${CHOST} in *-darwin*) case "$2" in *[!0-9]*) nidump $1 . | awk -F":" "{ if (\$1 ~ /^$2$/) {print \$0;exit;} }" ;; *) nidump $1 . | awk -F":" "{ if (\$3 == $2) {print \$0;exit;} }" ;; esac ;; *-freebsd* | *-dragonfly*) local opts action="user"; [[ $1 == "passwd" ]] || action="group"; if [[ $2 == [[:digit:]]* ]]; then [[ ${action} == "user" ]] && opts="-u" || opts="-g"; fi; pw show ${action} ${opts} "$2" -q ;; *-netbsd* | *-openbsd*) grep "$2:\*:" /etc/$1 ;; *) type -p nscd >&/dev/null && nscd -i "$1"; getent "$1" "$2" ;; esac } egethome () { ent=$(egetent passwd $1); case ${CHOST} in *-darwin* | *-freebsd* | *-dragonfly*) echo ${ent} | cut -d: -f9 ;; *) echo ${ent} | cut -d: -f6 ;; esac } egetshell () { ent=$(egetent passwd "$1"); case ${CHOST} in *-darwin* | *-freebsd* | *-dragonfly*) echo ${ent} | cut -d: -f10 ;; *) echo ${ent} cut -d: -f7 ;; esac } 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 } enewgroup () { case ${EBUILD_PHASE} in unpack | compile | test | install) eerror "'enewgroup()' called from '${EBUILD_PHASE}()' which is not a pkg_* function."; eerror "Package fails at QA and at life. Please file a bug."; die "Bad package! enewgroup is only for use in pkg_* functions!" ;; esac; local egroup="$1"; shift; if [ -z "${egroup}" ]; then eerror "No group specified !"; die "Cannot call enewgroup without a group"; fi; if [[ -n $(egetent group "${egroup}") ]]; then return 0; fi; einfo "Adding group '${egroup}' to your system ..."; local opts=; local egid="$1"; shift; if [ ! -z "${egid}" ]; then if [ "${egid}" -gt 0 ]; then if [ -z "`egetent group ${egid}`" ]; then if [[ "${CHOST}" == *-darwin* ]]; then opts="${opts} ${egid}"; else opts="${opts} -g ${egid}"; fi; else egid="next available; requested gid taken"; fi; else eerror "Groupid given but is not greater than 0 !"; die "${egid} is not a valid GID"; fi; else egid="next available"; fi; einfo " - Groupid: ${egid}"; local eextra="$@"; opts="${opts} ${eextra}"; local oldsandbox="${SANDBOX_ON}"; export SANDBOX_ON="0"; case ${CHOST} in *-darwin*) if [ ! -z "${eextra}" ]; then einfo "Extra options are not supported on Darwin/OS X yet"; einfo "Please report the ebuild along with the info below"; einfo "eextra: ${eextra}"; die "Required function missing"; fi; case ${egid} in *[!0-9]*) for ((egid = 101; egid <= 999; egid++)) do [[ -z $(egetent group ${egid}) ]] && break; done ;; esac; dscl . create /groups/${egroup} gid ${egid}; dscl . create /groups/${egroup} passwd '*' ;; *-freebsd* | *-dragonfly*) case ${egid} in *[!0-9]*) for ((egid = 101; egid <= 999; egid++)) do [[ -z $(egetent group ${egid}) ]] && break; done ;; esac; pw groupadd ${egroup} -g ${egid} || die "enewgroup failed" ;; *-netbsd*) case ${egid} in *[!0-9]*) for ((egid = 101; egid <= 999; egid++)) do [[ -z $(egetent group ${egid}) ]] && break; done ;; esac; groupadd -g ${egid} ${egroup} || die "enewgroup failed" ;; *) groupadd ${opts} ${egroup} || die "enewgroup failed" ;; esac; export SANDBOX_ON="${oldsandbox}" } enewuser () { case ${EBUILD_PHASE} in unpack | compile | test | install) eerror "'enewuser()' called from '${EBUILD_PHASE}()' which is not a pkg_* function."; eerror "Package fails at QA and at life. Please file a bug."; die "Bad package! enewuser is only for use in pkg_* functions!" ;; esac; local euser=$1; shift; if [[ -z ${euser} ]]; then eerror "No username specified !"; die "Cannot call enewuser without a username"; fi; if [[ -n $(egetent passwd "${euser}") ]]; then return 0; fi; einfo "Adding user '${euser}' to your system ..."; local opts=; local euid=$1; shift; if [[ -n ${euid} && ${euid} != -1 ]]; then if [[ ${euid} -gt 0 ]]; then if [[ -n $(egetent passwd ${euid}) ]]; then euid="next"; fi; else eerror "Userid given but is not greater than 0 !"; die "${euid} is not a valid UID"; fi; else euid="next"; fi; if [[ ${euid} == "next" ]]; then for ((euid = 101; euid <= 999; euid++)) do [[ -z $(egetent passwd ${euid}) ]] && break; done; fi; opts="${opts} -u ${euid}"; einfo " - Userid: ${euid}"; local eshell=$1; shift; if [[ ! -z ${eshell} ]] && [[ ${eshell} != "-1" ]]; then if [[ ! -e ${ROOT}${eshell} ]]; then eerror "A shell was specified but it does not exist !"; die "${eshell} does not exist in ${ROOT}"; fi; if [[ ${eshell} == */false || ${eshell} == */nologin ]]; then eerror "Do not specify ${eshell} yourself, use -1"; die "Pass '-1' as the shell parameter"; fi; else for shell in /sbin/nologin /usr/sbin/nologin /bin/false /usr/bin/false /dev/null; do [[ -x ${ROOT}${shell} ]] && break; done; if [[ ${shell} == "/dev/null" ]]; then eerror "Unable to identify the shell to use, proceeding with userland default."; case ${USERLAND} in GNU) shell="/bin/false" ;; BSD) shell="/sbin/nologin" ;; Darwin) shell="/usr/sbin/nologin" ;; *) die "Unable to identify the default shell for userland ${USERLAND}" ;; esac; fi; eshell=${shell}; fi; einfo " - Shell: ${eshell}"; opts="${opts} -s ${eshell}"; local ehome=$1; shift; if [[ -z ${ehome} ]] || [[ ${ehome} == "-1" ]]; then ehome="/dev/null"; fi; einfo " - Home: ${ehome}"; opts="${opts} -d ${ehome}"; local egroups=$1; shift; if [[ ! -z ${egroups} ]]; then local oldifs=${IFS}; local defgroup="" exgroups=""; export IFS=","; for g in ${egroups}; do export IFS=${oldifs}; if [[ -z $(egetent group "${g}") ]]; then eerror "You must add group ${g} to the system first"; die "${g} is not a valid GID"; fi; if [[ -z ${defgroup} ]]; then defgroup=${g}; else exgroups="${exgroups},${g}"; fi; export IFS=","; done; export IFS=${oldifs}; opts="${opts} -g ${defgroup}"; if [[ ! -z ${exgroups} ]]; then opts="${opts} -G ${exgroups:1}"; fi; else egroups="(none)"; fi; einfo " - Groups: ${egroups}"; local oldsandbox=${SANDBOX_ON}; export SANDBOX_ON="0"; case ${CHOST} in *-darwin*) if [[ -z $@ ]]; then dscl . create /users/${euser} uid ${euid}; dscl . create /users/${euser} shell ${eshell}; dscl . create /users/${euser} home ${ehome}; dscl . create /users/${euser} realname "added by portage for ${PN}"; local oldifs=${IFS}; export IFS=","; for g in ${egroups}; do dscl . merge /groups/${g} users ${euser}; done; export IFS=${oldifs}; else einfo "Extra options are not supported on Darwin yet"; einfo "Please report the ebuild along with the info below"; einfo "eextra: $@"; die "Required function missing"; fi ;; *-freebsd* | *-dragonfly*) if [[ -z $@ ]]; then pw useradd ${euser} ${opts} -c "added by portage for ${PN}" die "enewuser failed"; else einfo " - Extra: $@"; pw useradd ${euser} ${opts} "$@" || die "enewuser failed"; fi ;; *-netbsd*) if [[ -z $@ ]]; then useradd ${opts} ${euser} || die "enewuser failed"; else einfo " - Extra: $@"; useradd ${opts} ${euser} "$@" || die "enewuser failed"; fi ;; *-openbsd*) if [[ -z $@ ]]; then useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} || die "enewuser failed"; else einfo " - Extra: $@"; useradd -u ${euid} -s ${eshell} -d ${ehome} -c "Added by portage for ${PN}" -g ${egroups} ${euser} "$@" || die "enewuser failed"; fi ;; *) if [[ -z $@ ]]; then useradd ${opts} ${euser} -c "added by portage for ${PN}" || die "enewuser failed"; else einfo " - Extra: $@"; useradd ${opts} ${euser} "$@" || die "enewuser failed"; fi ;; esac; if [[ ! -e ${ROOT}/${ehome} ]]; then einfo " - Creating ${ehome} in ${ROOT}"; mkdir -p "${ROOT}/${ehome}"; chown ${euser} "${ROOT}/${ehome}"; chmod 755 "${ROOT}/${ehome}"; fi; export SANDBOX_ON=${oldsandbox} } epatch () { function _epatch_draw_line () { [[ -z $1 ]] && set "$(printf "%65s" '')"; echo "${1//?/=}" }; function _epatch_assert () { local _pipestatus=${PIPESTATUS[*]}; [[ ${_pipestatus// /} -eq 0 ]] }; local PIPE_CMD=""; local STDERR_TARGET="${T}/$$.out"; local PATCH_TARGET="${T}/$$.patch"; local PATCH_SUFFIX=""; local SINGLE_PATCH="no"; local x=""; unset P4CONFIG P4PORT P4USER; if [ "$#" -gt 1 ]; then local m=""; for m in "$@"; do epatch "${m}"; done; return 0; fi; if [ -n "$1" -a -f "$1" ]; then SINGLE_PATCH="yes"; local EPATCH_SOURCE="$1"; local EPATCH_SUFFIX="${1##*\.}"; else if [ -n "$1" -a -d "$1" ]; then if [ "${EPATCH_FORCE}" = "yes" ] && [ -z "${EPATCH_SUFFIX}" ]; then local EPATCH_SOURCE="$1/*"; else local EPATCH_SOURCE="$1/*.${EPATCH_SUFFIX}"; fi; else if [[ ! -d ${EPATCH_SOURCE} ]] || [[ -n $1 ]]; then if [ -n "$1" -a "${EPATCH_SOURCE}" = "${WORKDIR}/patch" ]; then EPATCH_SOURCE="$1"; fi; 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; local EPATCH_SOURCE="${EPATCH_SOURCE}/*.${EPATCH_SUFFIX}"; fi; fi; case ${EPATCH_SUFFIX##*\.} in bz2) PIPE_CMD="bzip2 -dc"; PATCH_SUFFIX="bz2" ;; gz | Z | z) PIPE_CMD="gzip -dc"; PATCH_SUFFIX="gz" ;; ZIP | zip) PIPE_CMD="unzip -p"; PATCH_SUFFIX="zip" ;; *) PIPE_CMD="cat"; PATCH_SUFFIX="patch" ;; esac; if [ "${SINGLE_PATCH}" = "no" ]; then einfo "${EPATCH_MULTI_MSG}"; fi; for x in ${EPATCH_SOURCE}; do if [ -f ${x} ] && ( [ "${SINGLE_PATCH}" = "yes" -o "${x/_all_}" != "${x}" -o "${x/_${ARCH}_}" != "${x}" ] || [ "${EPATCH_FORCE}" = "yes" ] ); then local count=0; local popts="${EPATCH_OPTS}"; local patchname=${x##*/}; if [ -n "${EPATCH_EXCLUDE}" ]; then if [ "${EPATCH_EXCLUDE/${patchname}}" != "${EPATCH_EXCLUDE}" ]; then continue; fi; 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; echo "***** ${patchname} *****" > ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; while [ "${count}" -lt 5 ]; do _epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; if [ "${PATCH_SUFFIX}" != "patch" ]; then echo -n "PIPE_COMMAND: " >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo "${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; else PATCH_TARGET="${x}"; fi; echo -n "PATCH COMMAND: " >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo "patch -p${count} ${popts} < ${PATCH_TARGET}" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; _epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; if [ "${PATCH_SUFFIX}" != "patch" ]; then if ! ( ${PIPE_CMD} ${x} > ${PATCH_TARGET} ) >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then echo; eerror "Could not extract patch!"; count=5; break; fi; fi; if ( cat ${PATCH_TARGET} | patch -p${count} ${popts} --dry-run -f; _epatch_assert ) >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/} 2>&1; then _epatch_draw_line "***** ${patchname} *****" > ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; echo "ACTUALLY APPLYING ${patchname} ..." >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; echo >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; _epatch_draw_line "***** ${patchname} *****" >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; cat ${PATCH_TARGET} | patch -p${count} ${popts} >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real 2>&1; _epatch_assert; if [ "$?" -ne 0 ]; then cat ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real >> ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; echo; eerror "A dry-run of patch command succeeded, but actually"; eerror "applying the patch failed!"; count=5; fi; rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}.real; break; fi; count=$((count + 1)); done; if [ "${PATCH_SUFFIX}" != "patch" ]; then rm -f ${PATCH_TARGET}; fi; if [ "${count}" -eq 5 ]; then echo; eerror "Failed Patch: ${patchname} !"; eerror " ( ${PATCH_TARGET} )"; eerror; eerror "Include in your bugreport the contents of:"; eerror; eerror " ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}"; echo; die "Failed Patch: ${patchname}!"; fi; rm -f ${STDERR_TARGET%/*}/${patchname}-${STDERR_TARGET##*/}; eend 0; fi; done; if [ "${SINGLE_PATCH}" = "no" ]; then einfo "Done with patching"; fi } epause () { [[ -z ${EPAUSE_IGNORE} ]] && sleep ${1:-5} } epunt_cxx () { local dir=$1; [[ -z ${dir} ]] && dir=${S}; ebegin "Removing useless C++ checks"; local f; find "${dir}" -name configure | while read f; do patch --no-backup-if-mismatch -p0 "${f}" "${PORTDIR}/eclass/ELT-patches/nocxx/nocxx.patch" > /dev/null; done; eend 0 } eqmake3 () { local LOGFILE="${T}/qmake-$$.out"; local projprofile="${1}"; [[ -z ${projprofile} ]] && projprofile="${PN}.pro"; shift 1; ebegin "Processing qmake ${projprofile}"; if [[ ! -f ${projprofile} ]]; then echo; eerror "Project .pro file \"${projprofile}\" does not exists"; eerror "qmake cannot handle non-existing .pro files"; echo; eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"; echo; die "Project file not found in ${PN} sources"; fi; echo >> ${LOGFILE}; echo "****** qmake ${projprofile} ******" >> ${LOGFILE}; echo >> ${LOGFILE}; local configoptplus="CONFIG += no_fixpath"; local configoptminus="CONFIG -="; if has debug ${IUSE} && use debug; then configoptplus="${configoptplus} debug"; configoptminus="${configoptminus} release"; else configoptplus="${configoptplus} release"; configoptminus="${configoptminus} debug"; fi; ${QTDIR}/bin/qmake ${projprofile} QTDIR=${QTDIR} QMAKE=${QTDIR}/bin/qmake QMAKE_CC=$(tc-getCC) QMAKE_CXX=$(tc-getCXX) QMAKE_LINK=$(tc-getCXX) QMAKE_CFLAGS_RELEASE="${CFLAGS}" QMAKE_CFLAGS_DEBUG="${CFLAGS}" QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" QMAKE_LFLAGS_RELEASE="${LDFLAGS}" QMAKE_LFLAGS_DEBUG="${LDFLAGS}" "${configoptminus}" "${configoptplus}" QMAKE_RPATH= ${@} >> ${LOGFILE} 2>&1; local result=$?; eend ${result}; if [[ ${result} -ne 0 ]]; then echo; eerror "Running qmake on \"${projprofile}\" has failed"; echo; eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"; echo; die "qmake failed on ${projprofile}"; fi; return ${result} } find_unpackable_file () { local src=$1; if [[ -z ${src} ]]; then src=${DISTDIR}/${A}; else if [[ -e ${DISTDIR}/${src} ]]; then src=${DISTDIR}/${src}; else if [[ -e ${PWD}/${src} ]]; then src=${PWD}/${src}; else if [[ -e ${src} ]]; then src=${src}; fi; fi; fi; fi; [[ ! -e ${src} ]] && return 1; echo "${src}" } gcc-fullversion () { $(tc-getCC "$@") -dumpversion } gcc-major-version () { gcc-version "$@" | cut -f1 -d. } gcc-micro-version () { gcc-fullversion "$@" | cut -f3 -d. | cut -f1 -d- } gcc-minor-version () { gcc-version "$@" | cut -f2 -d. } 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-now () { local directive; directive=$(gcc-specs-directive link_command); return $([[ ${directive/\{!nonow:} != ${directive} ]]) } gcc-specs-pie () { local directive; directive=$(gcc-specs-directive cc1); return $([[ ${directive/\{!nopie:} != ${directive} ]]) } gcc-specs-relro () { local directive; directive=$(gcc-specs-directive link_command); return $([[ ${directive/\{!norelro:} != ${directive} ]]) } gcc-specs-ssp () { local directive; directive=$(gcc-specs-directive cc1); return $([[ ${directive/\{!fno-stack-protector:} != ${directive} ]]) } gcc-specs-ssp-to-all () { local directive; directive=$(gcc-specs-directive cc1); return $([[ ${directive/\{!fno-stack-protector-all:} != ${directive} ]]) } gcc-version () { gcc-fullversion "$@" | cut -f1,2 -d. } gen_usr_ldscript () { local lib libdir=$(get_libdir) output_format=""; dodir /usr/${libdir}; output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p'); [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"; for lib in "$@"; do if [[ ${USERLAND} == "Darwin" ]]; then ewarn "Not creating fake dynamic library for $lib on Darwin;"; ewarn "making a symlink instead."; dosym "/${libdir}/${lib}" "/usr/${libdir}/${lib}"; else cat > "${D}/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. See bug http://bugs.gentoo.org/4411 for more info. */ ${output_format} GROUP ( /${libdir}/${lib} ) END_LDSCRIPT fi fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}"; done } get-child-packages () { local parent child; while read parent child; do [[ ${parent} == $1 ]] && echo -n "${child} "; done < Makefile; cd $OLDPWD } kde_sandbox_patch () { debug-print-function $FUNCNAME $*; while [ -n "$1" ]; do cd $1; for x in Makefile.am Makefile.in Makefile; do if [ -f "$x" ]; then echo Running sed on $x; cp $x ${x}.orig; sed -e 's: $(bindir): $(DESTDIR)/$(bindir):g' -e 's: $(kde_datadir): $(DESTDIR)/$(kde_datadir):g' -e 's: $(TIMID_DIR): $(DESTDIR)/$(TIMID_DIR):g' ${x}.orig > ${x}; rm ${x}.orig; fi; done; shift; done } make_desktop_entry () { [[ -z $1 ]] && eerror "make_desktop_entry: You must specify the executable" && return 1; local exec=${1}; local name=${2:-${PN}}; local icon=${3:-${PN}}; local type=${4}; local path=${5}; if [[ -z ${type} ]]; then local catmaj=${CATEGORY%%-*}; local catmin=${CATEGORY##*-}; case ${catmaj} in app) case ${catmin} in accessibility) type=Accessibility ;; admin) type=System ;; antivirus) type=System ;; arch) type=Archiving ;; backup) type=Archiving ;; cdr) type=DiscBurning ;; dicts) type=Dictionary ;; doc) type=Documentation ;; editors) type=TextEditor ;; emacs) type=TextEditor ;; emulation) type=Emulator ;; laptop) type=HardwareSettings ;; office) type=Office ;; pda) type=PDA ;; vim) type=TextEditor ;; xemacs) type=TextEditor ;; *) type= ;; 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 ;; *) type= ;; esac; type="Game;${type}" ;; gnome) type="Gnome;GTK" ;; kde) type="KDE;Qt" ;; mail) type="Network;Email" ;; media) case ${catmin} in gfx) type=Graphics ;; radio) type=Tuner ;; sound) type=Audio ;; tv) type=TV ;; video) type=Video ;; *) type= ;; esac; type="AudioVideo;${type}" ;; 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 ;; *) type= ;; 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 ;; *) type= ;; esac; type="Science;${type}" ;; sys) type="System" ;; www) case ${catmin} in client) type=WebBrowser ;; *) type= ;; esac; type="Network" ;; *) type= ;; esac; fi; 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"; cat > "${desktop}" <<-EOF [Desktop Entry] Version=1.0 Name=${name} Type=Application Comment=${DESCRIPTION} Exec=${exec} TryExec=${exec%% *} Icon=${icon} Categories=${type}; EOF [[ -n ${path} ]] && echo "Path=${path}" >> "${desktop}"; ( insinto /usr/share/applications; doins "${desktop}" ) } make_session_desktop () { [[ -z $1 ]] && eerror "make_session_desktop: You must specify the title" && return 1; [[ -z $2 ]] && eerror "make_session_desktop: You must specify the command" && return 1; local title=$1; local command=$2; local desktop=${T}/${wm}.desktop; cat > "${desktop}" <<-EOF [Desktop Entry] Name=${title} Comment=This session logs you into ${title} Exec=${command} TryExec=${command} Type=Application EOF ( insinto /usr/share/xsessions; doins "${desktop}" ) } make_wrapper () { local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5; local tmpwrapper=$(emktemp); cat > "${tmpwrapper}" </dev/null)"; local uninstall_file="[Desktop Entry] Encoding=UTF-8 Hidden=true"; if [[ -n ${desktop_entries} ]]; then for entry in ${desktop_entries}; do echo "${uninstall_file}" | diff -qs ${entry} - >&/dev/null; if [[ $? != 0 ]]; then if [[ ! -f ${D}${PREFIX}/share/applications/kde/$(basename ${entry}) ]]; then dodir ${PREFIX}/share/applications/kde; mv ${entry} ${D}${PREFIX}/share/applications/kde; else ewarn "QA: $(basename ${entry}) already exists in ${PREFIX}/share/applications/kde."; fi; fi; done; fi; fi; validate_desktop_entries ${PREFIX}/share/applications } prep_ml_includes () { if [[ $(number_abis) -gt 1 ]]; then local dir; local dirs; local base; if [[ $# -eq 0 ]]; then dirs=/usr/include; else dirs="$@"; fi; for dir in ${dirs}; do base=${T}/gentoo-multilib/${dir}/gentoo-multilib; mkdir -p "${base}"; [[ -d ${base}/${ABI} ]] && rm -rf "${base}/${ABI}"; mv "${D}/${dir}" "${base}/${ABI}"; done; if is_final_abi; then base=${T}/gentoo-multilib; pushd "${base}"; find . | tar -c -T - -f - | tar -x --no-same-owner -f - -C ${D}; popd; set --; for dir in ${dirs}; do set -- "$@" "${dir}"; local abi; for abi in $(get_install_abis); do set -- "$@" "$(get_abi_CDEFINE ${abi}):${dir}/gentoo-multilib/${abi}"; done; create_ml_includes "$@"; done; fi; fi } 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 [more libraries to preserve]"; local lib dir; for lib in "$@"; do [[ -e ${ROOT}/${lib} ]] || continue; dir=${lib%/*}; dodir ${dir} || die "dodir ${dir} failed"; cp "${ROOT}"/${lib} "${D}"/${lib} || die "cp ${lib} failed"; touch "${D}"/${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; local lib notice=0; for lib in "$@"; do [[ -e ${ROOT}/${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##*/}"; done; if [[ ${notice} -eq 1 ]]; then ewarn; ewarn "Once you've finished running revdep-rebuild, it should be safe to"; ewarn "delete the old libraries."; fi } qt_min_version () { local list=$(qt_min_version_list "$@"); if [[ ${list%% *} == "${list}" ]]; then echo "${list}"; else echo "|| ( ${list} )"; fi } qt_min_version_list () { local MINVER="$1"; local VERSIONS=""; case "${MINVER}" in 3 | 3.0 | 3.0.0) VERSIONS="=${QTPKG}3*" ;; 3.1 | 3.1.0 | 3.2 | 3.2.0 | 3.3 | 3.3.0) for x in ${QT3MAJORVERSIONS}; do if $(version_is_at_least "${MINVER}" "${x}"); then VERSIONS="${VERSIONS} =${QTPKG}${x}*"; fi; done ;; 3*) for x in ${QT3VERSIONS}; do if $(version_is_at_least "${MINVER}" "${x}"); then VERSIONS="${VERSIONS} =${QTPKG}${x}"; fi; done ;; *) VERSIONS="=${QTPKG}3*" ;; esac; echo ${VERSIONS} } qtver-from-kdever () { debug-print-function $FUNCNAME $*; local ver; case $1 in 2*) ver=2.3.1 ;; 3.1*) ver=3.1 ;; 3.2*) ver=3.2 ;; 3.3*) ver=3.3 ;; 3.4*) ver=3.3 ;; 3.5*) ver=3.3 ;; 3*) ver=3.0.5 ;; 5) ver=3.3 ;; *) echo "!!! error: $FUNCNAME called with invalid parameter: \"$1\", please report bug" && exit 1 ;; esac; selected_version="$ver" } replace_all_version_separators () { __versionator_shopt_toggle on; local c; c=($(get_all_version_components "${2:-${PV}}" )); c="${c[@]//[-._]/$1}"; echo ${c// }; __versionator_shopt_toggle off } replace_version_separator () { __versionator_shopt_toggle on; local w i c found=0 v="${3:-${PV}}"; w=${1:-1}; c=($(get_all_version_components ${v} )); if [[ "${w//[[:digit:]]/}" == "${w}" ]]; then for ((i = 0 ; i < ${#c[@]} ; i = $i + 1 )) do if [[ "${c[${i}]}" == "${w}" ]]; then c[${i}]="${2}"; break; fi; done; else for ((i = 0 ; i < ${#c[@]} ; i = $i + 1 )) do if [[ -n "${c[${i}]//[^-._]}" ]]; then found=$(($found + 1)); if [[ "$found" == "${w}" ]]; then c[${i}]="${2}"; break; fi; fi; done; fi; c=${c[@]}; echo ${c// }; __versionator_shopt_toggle off } seq () { local p=$(type -P seq); case $# in 1) min=1 max=$1 step=1 ;; 2) min=$1 max=$2 step=1 ;; 3) min=$1 max=$3 step=$2 ;; *) die "seq called with wrong number of arguments" ;; esac; if [[ -z ${p} ]]; then local reps; if [[ ${step} != 0 ]]; then reps=$(( ($max-$min) / $step +1 )); else reps=0; fi; jot $reps $min $max $step; else "${p}" $min $step $max; fi } set-kdedir () { debug-print-function $FUNCNAME $*; IFSBACKUP="$IFS"; IFS=".-_"; for x in $1; do if [ -z "$KDEMAJORVER" ]; then KDEMAJORVER=$x; else if [ -z "$KDEMINORVER" ]; then KDEMINORVER=$x; else if [ -z "$KDEREVISION" ]; then KDEREVISION=$x; fi; fi; fi; done; [ -z "$KDEMINORVER" ] && KDEMINORVER="0"; [ -z "$KDEREVISION" ] && KDEREVISION="0"; IFS="$IFSBACKUP"; debug-print "$FUNCNAME: version breakup: KDEMAJORVER=$KDEMAJORVER KDEMINORVER=$KDEMINORVER KDEREVISION=$KDEREVISION"; if [ -n "$KDEPREFIX" ]; then export PREFIX="$KDEPREFIX"; else if [ "$KDEMAJORVER" == "2" ]; then export PREFIX="/usr/kde/2"; else if [ -z "$KDEBASE" ]; then export PREFIX="/usr"; else case $KDEMAJORVER.$KDEMINORVER in 3.0) export PREFIX="/usr/kde/3" ;; 3.1) export PREFIX="/usr/kde/3.1" ;; 3.2) export PREFIX="/usr/kde/3.2" ;; 3.3) export PREFIX="/usr/kde/3.3" ;; 3.4) export PREFIX="/usr/kde/3.4" ;; 3.5) export PREFIX="/usr/kde/3.5" ;; 5.0) export PREFIX="/usr/kde/cvs" ;; *) die "failed to set PREFIX" ;; esac; fi; fi; fi; if [ -n "$KDELIBSDIR" ]; then export KDEDIR="$KDELIBSDIR"; else if [ "$KDEMAJORVER" == "2" ]; then export KDEDIR="/usr/kde/2"; else if [ -z "$KDEBASE" ]; then for x in /usr/kde/{cvs,3.5,3.4,3.3,3.2,3.1,3.0,3} $PREFIX $KDE3LIBSDIR $KDELIBSDIR $KDE3DIR $KDEDIR /usr/kde/*; do if [ -f "${x}/include/kwin.h" ]; then debug-print found; export KDEDIR="$x"; break; fi; done; else case $KDEMAJORVER.$KDEMINORVER in 3.0) export KDEDIR="/usr/kde/3" ;; 3.1) export KDEDIR="/usr/kde/3.1" ;; 3.2) export KDEDIR="/usr/kde/3.2" ;; 3.3) export KDEDIR="/usr/kde/3.3" ;; 3.4) export KDEDIR="/usr/kde/3.4" ;; 3.5) export KDEDIR="/usr/kde/3.5" ;; 5.0) export KDEDIR="/usr/kde/cvs" ;; *) die "failed to set KDEDIR" ;; esac; fi; fi; fi; debug-print "$FUNCNAME: Will use the kdelibs installed in $KDEDIR, and install into $PREFIX." } set-qtdir () { DONOTHING=1 } src_compile () { local myconf; if use nsplugin; then myconf="${myconf} --with-plugindir=/opt/netscape/plugins"; else myconf="${myconf} --disable-nsapi"; fi; if use agg; then myconf="${myconf} --enable-renderer=agg"; else if use opengl; then myconf="${myconf} --enable-renderer=ogl"; else if use cairo; then myconf="${myconf} --enable-renderer=cairo"; else ewarn "You did not select a renderer from: agg cairo opengl"; ewarn " - Default of agg has been selected for you"; myconf="${myconf} --enable-renderer=agg"; fi; fi; fi; local gui=""; use fbcon && gui="${gui},fb"; use gtk && gui="${gui},gtk"; use kde && gui="${gui},kde"; use qt3 && gui="${gui},qt"; use sdl && gui="${gui},sdl"; gui=${gui#,}; if [[ -z ${gui} ]]; then ewarn "You did not select a gui from: fbcon gtk kde qt3 sdl"; ewarn " - Default of gtk,kde has been selected for you"; gui="gtk,kde"; fi; if use ffmpeg; then myconf="${myconf} --enable-media=ffmpeg"; else if use gstreamer; then myconf="${myconf} --enable-media=gst"; else if use mad; then myconf="${myconf} --enable-media=mad"; else ewarn "You did not select media: ffmpeg gstreamer mad"; ewarn " - You will not have sound"; myconf="${myconf} --enable-media=ffmpeg"; fi; fi; fi; econf $(use_enable video_cards_i810 i810-lod-bias) --enable-gui=${gui} ${myconf} || die "econf failed"; emake || die "emake failed" } src_install () { emake DESTDIR="${D}" install || die "emake install failed"; use nsplugin && inst_plugin /opt/netscape/plugins/libgnashplugin.so || rm -rf "${D}/opt"; dodoc AUTHORS ChangeLog NEWS README } src_mv_plugins () { keepdir /usr/$(get_libdir)/${PLUGINS_DIR}; cp -a ${D}/$1/* ${D}/usr/$(get_libdir)/${PLUGINS_DIR}; rm -rf ${D}/$1; dosym /usr/$(get_libdir)/${PLUGINS_DIR} $1 } src_test () { if emake -j1 check -n >&/dev/null; then vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"; if ! emake -j1 check; then hasq test $FEATURES && die "Make check failed. See above for details."; hasq test $FEATURES || eerror "Make check failed. See above for details."; fi; else if emake -j1 test -n >&/dev/null; then vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"; if ! emake -j1 test; then hasq test $FEATURES && die "Make test failed. See above for details."; hasq test $FEATURES || eerror "Make test failed. See above for details."; fi; else vecho ">>> Test phase [none]: ${CATEGORY}/${PF}"; fi; fi } src_unpack () { [[ -n ${A} ]] && unpack ${A} } 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 hasq ${f} ${ls} && newls="${newls} ${f}"; else hasq ${f} ${ls} || newls="${newls} ${f}"; fi; done; ls=${newls}; done; else ls="$@"; fi; nols=""; newls=""; for f in ${LINGUAS}; do if hasq ${f} ${ls}; then newls="${newls} ${f}"; else nols="${nols} ${f}"; fi; done; [[ -n ${nols} ]] && ewarn "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-endian () { local host=$1; [[ -z ${host} ]] && host=${CTARGET:-${CHOST}}; host=${host%%-*}; case ${host} in alpha*) echo big ;; 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*) echo big ;; s390*) echo big ;; sh*b*) echo big ;; sh*) echo little ;; sparc*) echo big ;; x86_64*) echo little ;; *) echo wtf ;; esac } tc-export () { local var; for var in "$@"; do eval tc-get${var} > /dev/null; done } tc-getAR () { tc-getPROG AR ar "$@" } tc-getAS () { tc-getPROG AS as "$@" } tc-getBUILD_CC () { local v; for v in CC_FOR_BUILD BUILD_CC HOSTCC; do if [[ -n ${!v} ]]; then export BUILD_CC=${!v}; echo "${!v}"; return 0; fi; done; local search=; if [[ -n ${CBUILD} ]]; then search=$(type -p ${CBUILD}-gcc); search=${search##*/}; fi; search=${search:-gcc}; export BUILD_CC=${search}; echo "${search}" } tc-getCC () { tc-getPROG CC gcc "$@" } tc-getCPP () { tc-getPROG CPP cpp "$@" } tc-getCXX () { tc-getPROG CXX g++ "$@" } tc-getF77 () { tc-getPROG F77 f77 "$@" } tc-getF90 () { tc-getPROG F90 gfortran "$@" } tc-getFORTRAN () { tc-getPROG FORTRAN gfortran "$@" } tc-getGCJ () { tc-getPROG GCJ gcj "$@" } tc-getLD () { tc-getPROG LD ld "$@" } tc-getNM () { tc-getPROG NM nm "$@" } tc-getPROG () { local var=$1; local prog=$2; if [[ -n ${!var} ]]; then echo "${!var}"; return 0; fi; local search=; [[ -n $3 ]] && search=$(type -p "$3-${prog}"); [[ -z ${search} && -n ${CHOST} ]] && search=$(type -p "${CHOST}-${prog}"); [[ -n ${search} ]] && prog=${search##*/}; export ${var}=${prog}; echo "${!var}" } tc-getRANLIB () { tc-getPROG RANLIB ranlib "$@" } tc-getSTRIP () { tc-getPROG STRIP strip "$@" } tc-is-cross-compiler () { return $([[ ${CBUILD:-${CHOST}} != ${CHOST} ]]) } tc-is-softfloat () { case ${CTARGET} in bfin* | h8300*) echo "only" ;; *) [[ ${CTARGET//_/-} == *-softfloat-* ]] && echo "yes" || echo "no" ;; esac } 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 alpha*) echo alpha ;; arm*) echo arm ;; avr*) ninj avr32 avr ;; bfin*) ninj blackfin bfin ;; cris*) echo cris ;; hppa*) ninj parisc hppa ;; i?86*) if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -lt $(KV_to_int 2.6.24) ]]; then echo i386; else echo x86; fi ;; ia64*) echo ia64 ;; m68*) echo m68k ;; mips*) echo mips ;; nios2*) echo nios2 ;; nios*) echo nios ;; powerpc*) if [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.16) ]] && [[ ${type} == "kern" ]]; then echo powerpc; else if [[ $(KV_to_int ${KV}) -eq $(KV_to_int 2.6.15) ]] && [[ ${type} == "kern" ]]; then if [[ ${host} == powerpc64* ]] || [[ ${PROFILE_ARCH} == "ppc64" ]]; then echo powerpc; else echo ppc; fi; else if [[ ${host} == powerpc64* ]]; then echo ppc64; else if [[ ${PROFILE_ARCH} == "ppc64" ]]; then ninj ppc64 ppc; else echo ppc; fi; fi; fi; fi ;; s390*) echo s390 ;; sh64*) ninj sh64 sh ;; sh*) echo sh ;; sparc64*) ninj sparc64 sparc ;; sparc*) [[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc ;; vax*) echo vax ;; x86_64*) if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.24) ]]; then echo x86; else ninj x86_64 amd64; fi ;; *) echo unknown ;; esac } treecopy () { dest=${!#}; files_count=$#; while (( $# > 1 )); do dirstruct=$(dirname "$1"); mkdir -p "${dest}/${dirstruct}"; cp -pPR "$1" "${dest}/${dirstruct}"; shift; done } unpack_makeself () { local src_input=${1:-${A}}; local src=$(find_unpackable_file "${src_input}"); local skip=$2; local exe=$3; [[ -z ${src} ]] && die "Could not locate source for '${src_input}'"; local shrtsrc=$(basename "${src}"); echo ">>> Unpacking ${shrtsrc} to ${PWD}"; if [[ -z ${skip} ]]; then local ver=$(grep -a '#.*Makeself' "${src}" | awk '{print $NF}'); local skip=0; exe=tail; case ${ver} in 1.5.* | 1.6.0-nv) skip=$(grep -a ^skip= "${src}" | cut -d= -f2) ;; 2.0 | 2.0.1) skip=$(grep -a ^' 'tail "${src}" | awk '{print $2}' | cut -b2-) ;; 2.1.1) skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-); let skip="skip + 1" ;; 2.1.2) skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1); let skip="skip + 1" ;; 2.1.3) skip=`grep -a ^offset= "${src}" | awk '{print $3}'`; let skip="skip + 1" ;; 2.1.4 | 2.1.5) skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1); skip=$(head -n ${skip} "${src}" | wc -c); exe="dd" ;; *) eerror "I'm sorry, but I was unable to support the Makeself file."; eerror "The version I detected was '${ver}'."; eerror "Please file a bug about the file ${shrtsrc} at"; eerror "http://bugs.gentoo.org/ so that support can be added."; die "makeself version '${ver}' not supported" ;; esac; debug-print "Detected Makeself version ${ver} ... using ${skip} as offset"; fi; case ${exe} in tail) exe="tail -n +${skip} '${src}'" ;; dd) exe="dd ibs=${skip} skip=1 obs=1024 conv=sync if='${src}'" ;; *) die "makeself cant handle exe '${exe}'" ;; esac; local tmpfile=$(emktemp); eval ${exe} 2> /dev/null | head -c 512 > "${tmpfile}"; local filetype=$(file -b "${tmpfile}"); case ${filetype} in *tar\ archive*) eval ${exe} | tar --no-same-owner -xf - ;; bzip2*) eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - ;; gzip*) eval ${exe} | tar --no-same-owner -xzf - ;; compress*) eval ${exe} | gunzip | tar --no-same-owner -xf - ;; *) eerror "Unknown filetype \"${filetype}\" ?"; false ;; esac; _pipestatus="${PIPESTATUS[*]}"; [[ "${_pipestatus// /}" -eq 0 ]] || die "failure unpacking (${filetype}) makeself ${shrtsrc} ('${ver}' +${skip})" } unpack_pdv () { local src=$(find_unpackable_file "$1"); local sizeoff_t=$2; [[ -z ${src} ]] && die "Could not locate source for '$1'"; [[ -z ${sizeoff_t} ]] && die "No idea what off_t size was used for this pdv :("; local shrtsrc=$(basename "${src}"); echo ">>> Unpacking ${shrtsrc} to ${PWD}"; local metaskip=$(tail -c ${sizeoff_t} "${src}" | hexdump -e \"%i\"); local tailskip=$(tail -c $((${sizeoff_t}*2)) "${src}" | head -c ${sizeoff_t} | hexdump -e \"%i\"); local metafile=$(emktemp); tail -c +$((${metaskip}+1)) "${src}" > "${metafile}"; local datafile=$(tail -c +$((${metaskip}+1)) "${src}" | strings | head -n 1); datafile=$(basename "${datafile}"); local tmpfile=$(emktemp); tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c 512 > ${tmpfile}; local iscompressed=$(file -b "${tmpfile}"); if [[ ${iscompressed:0:8} == "compress" ]]; then iscompressed=1; mv ${tmpfile}{,.Z}; gunzip ${tmpfile}; else iscompressed=0; fi; local istar=$(file -b "${tmpfile}"); if [[ ${istar:0:9} == "POSIX tar" ]]; then istar=1; else istar=0; fi; if [ ${iscompressed} -eq 1 ]; then if [ ${istar} -eq 1 ]; then tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | tar -xzf -; else tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | gzip -dc > ${datafile}; fi; else if [ ${istar} -eq 1 ]; then tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) | tar --no-same-owner -xf -; else tail -c +$((${tailskip}+1)) ${src} 2> /dev/null | head -c $((${metaskip}-${tailskip})) > ${datafile}; fi; fi; true } validate_desktop_entries () { if [[ -x /usr/bin/desktop-file-validate ]]; then einfo "Checking desktop entry validity"; local directories=""; for d in /usr/share/applications $@; do [[ -d ${D}${d} ]] && directories="${directories} ${D}${d}"; done; if [[ -n ${directories} ]]; then for FILE in $(find ${directories} -name "*\.desktop" -not -path '*.hidden*' | sort -u 2>/dev/null); do local temp=$(desktop-file-validate ${FILE} | grep -v "warning:" | sed -e "s|error: ||" -e "s|${FILE}:|--|g" ); [[ -n $temp ]] && elog ${temp/--/${FILE/${D}/}:}; done; fi; echo ""; else einfo "Passing desktop entry validity check. Install dev-util/desktop-file-utils, if you want to help to improve Gentoo."; fi } version_compare () { __versionator_shopt_toggle on; local ver_a=${1} ver_b=${2} parts_a parts_b cur_idx_a=0 cur_idx_b=0; parts_a=($(get_all_version_components "${ver_a}" )); parts_b=($(get_all_version_components "${ver_b}" )); local inf_loop=0; while true; do inf_loop=$(( ${inf_loop} + 1 )); [[ ${inf_loop} -gt 20 ]] && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]"; local cur_tok_a=${parts_a[${cur_idx_a}]}; local cur_tok_b=${parts_b[${cur_idx_b}]}; if [[ -n ${cur_tok_a} ]] && [[ -z ${cur_tok_a//[[:digit:]]} ]]; then cur_idx_a=$(( ${cur_idx_a} + 1 )); [[ ${parts_a[${cur_idx_a}]} == "." ]] && cur_idx_a=$(( ${cur_idx_a} + 1 )); else cur_tok_a=""; fi; if [[ -n ${cur_tok_b} ]] && [[ -z ${cur_tok_b//[[:digit:]]} ]]; then cur_idx_b=$(( ${cur_idx_b} + 1 )); [[ ${parts_b[${cur_idx_b}]} == "." ]] && cur_idx_b=$(( ${cur_idx_b} + 1 )); else cur_tok_b=""; fi; [[ -z ${cur_tok_a} ]] && [[ -z ${cur_tok_b} ]] && break; cur_tok_a=${cur_tok_a##+(0)}; cur_tok_b=${cur_tok_b##+(0)}; [[ -z ${cur_tok_a} ]] && cur_tok_a=0; [[ -z ${cur_tok_b} ]] && cur_tok_b=0; [[ ${cur_tok_a} -lt ${cur_tok_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${cur_tok_a} -gt ${cur_tok_b} ]] && __versionator_shopt_toggle off && return 3; done; local letter_a=; letter_a=${parts_a[${cur_idx_a}]}; if [[ ${#letter_a} -eq 1 ]] && [[ -z ${letter_a/[a-z]} ]]; then cur_idx_a=$(( ${cur_idx_a} + 1 )); else letter_a="@"; fi; local letter_b=; letter_b=${parts_b[${cur_idx_b}]}; if [[ ${#letter_b} -eq 1 ]] && [[ -z ${letter_b/[a-z]} ]]; then cur_idx_b=$(( ${cur_idx_b} + 1 )); else letter_b="@"; fi; [[ ${letter_a} < ${letter_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${letter_a} > ${letter_b} ]] && __versionator_shopt_toggle off && return 3; local suffix rule part r_lt r_gt; for rule in "alpha=1" "beta=1" "pre=1" "rc=1" "p=3" "r=3"; do suffix=${rule%%=*}; r_lt=${rule##*=}; [[ ${r_lt} -eq 1 ]] && r_gt=3 || r_gt=1; local suffix_a=; for part in ${parts_a[@]}; do [[ ${part#${suffix}} != ${part} ]] && [[ -z ${part##${suffix}*([[:digit:]])} ]] && suffix_a=${part#${suffix}}0; done; local suffix_b=; for part in ${parts_b[@]}; do [[ ${part#${suffix}} != ${part} ]] && [[ -z ${part##${suffix}*([[:digit:]])} ]] && suffix_b=${part#${suffix}}0; done; [[ -z ${suffix_a} ]] && [[ -z ${suffix_b} ]] && continue; [[ -z ${suffix_a} ]] && __versionator_shopt_toggle off && return ${r_gt}; [[ -z ${suffix_b} ]] && __versionator_shopt_toggle off && return ${r_lt}; suffix_a=${suffix_a##+(0)}; suffix_a=${suffix_a:-0}; suffix_b=${suffix_b##+(0)}; suffix_b=${suffix_b:-0}; [[ ${suffix_a} -lt ${suffix_b} ]] && __versionator_shopt_toggle off && return 1; [[ ${suffix_a} -gt ${suffix_b} ]] && __versionator_shopt_toggle off && return 3; done; __versionator_shopt_toggle off; return 2 } version_is_at_least () { __versionator_shopt_toggle on; local want_s="$1" have_s="${2:-${PVR}}" r; version_compare "${want_s}" "${have_s}"; r=$?; case $r in 1 | 2) __versionator_shopt_toggle off; return 0 ;; 3) __versionator_shopt_toggle off; return 1 ;; *) __versionator_shopt_toggle off; die "versionator compare bug [atleast, ${want_s}, ${have_s}, ${r}]" ;; esac; __versionator_shopt_toggle off } version_sort () { __versionator_shopt_toggle on; local items= left=0; items=($@); while [[ ${left} -lt ${#items[@]} ]]; do local lowest_idx=${left}; local idx=$(( ${lowest_idx} + 1 )); while [[ ${idx} -lt ${#items[@]} ]]; do version_compare "${items[${lowest_idx}]}" "${items[${idx}]}"; [[ $? -eq 3 ]] && lowest_idx=${idx}; idx=$(( ${idx} + 1 )); done; local tmp=${items[${lowest_idx}]}; items[${lowest_idx}]=${items[${left}]}; items[${left}]=${tmp}; left=$(( ${left} + 1 )); done; echo ${items[@]}; __versionator_shopt_toggle off } declare -x ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" declare -x ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" declare -x APACHE2_MODULES="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 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="x86" declare -x CBUILD="i686-pc-linux-gnu" declare -x CDEFINE_default="__unix__" declare -x CFLAGS="-O3 -march=athlon -pipe" declare -x CFLAGS_default="" declare -x CHOST="i686-pc-linux-gnu" declare -x CHOST_default="i686-pc-linux-gnu" declare -x CLASSPATH="." declare -x CTARGET_default="i686-pc-linux-gnu" declare -x CVS_RSH="ssh" declare -x CXXFLAGS="-O3 -march=athlon -pipe" declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-5spgyc3koS,guid=68ca5988dc7db05aea72480047b54e3b" declare -x DEFAULT_ABI="default" declare -x DESKTOP_SESSION="default" declare -x DESTTREE="/usr" declare -x DIROPTIONS="-m0755" declare -x DM_CONTROL="/var/run/xdmctl" declare -x ELIBC="glibc" declare -x EXEOPTIONS="-m0755" declare -x FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" declare -x GCC_SPECS="" declare -x GDK_USE_XFT="1" declare -x GENERATION="2" declare -x GS_LIB="/root/.fonts" declare -x GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:/root/.gtkrc-2.0:/root/.kde/share/config/gtkrc-2.0" declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/root/.gtkrc:/root/.kde/share/config/gtkrc" declare -x INHERITED="toolchain-funcs qt3 portability nsplugins versionator multilib kde-functions eutils" declare -x INPUT_DEVICES="keyboard mouse evdev" declare -x INSDESTTREE="" declare -x INSOPTIONS="-m0644" declare -x IUSE=" agg cairo fbcon ffmpeg gstreamer gtk kde mad nsplugin opengl qt3 sdl video_cards_i810" declare -x JAVAC="/etc/java-config-2/current-system-vm/bin/javac" declare -x JAVA_HOME="/etc/java-config-2/current-system-vm" declare -x JDK_HOME="/etc/java-config-2/current-system-vm" declare -x KDEDIR="/usr/kde/3.5" declare -x KDEDIRS="/usr:/usr/local:/usr/kde/3.5" declare -x KDE_FULL_SESSION="true" declare -x KDE_MULTIHEAD="false" declare -x KDE_SESSION_UID="0" declare -x KERNEL="linux" declare -x KERNEL_ABI="default" declare -x KONSOLE_DCOP="DCOPRef(konsole-10764,konsole)" declare -x KONSOLE_DCOP_SESSION="DCOPRef(konsole-10764,session-1)" declare -x KV="2.6.24-gentoo-r2" declare -x LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" declare -x LDFLAGS_default="" declare -x LDPATH="/usr/kde/3.5/lib:" declare -x LIBDIR_default="lib" declare -x LIBOPTIONS="-m0644" declare -x MAKEOPTS="-j2" declare -x MULTILIB_ABIS="default" declare -x OPENGL_PROFILE="nvidia" declare -x PKG_CONFIG_PATH="/usr/qt/3/lib/pkgconfig" declare -x PORTAGE_TMPFS="/dev/shm" declare -x PREFIX="/usr" declare -x PYTHONPATH="/usr/lib/portage/pym" declare -x QMAKESPEC="linux-g++" declare -x QTDIR="/usr/qt/3" declare -x RESTRICT="" declare -x RSYNC="rsync://rsync.au.gentoo.org/gentoo-portage" declare -x S="/var/tmp/portage/net-www/gnash-0.8.1-r1/work/gnash-0.8.1" declare -x SANDBOX_DENY="/etc/ld.so.preload" declare -x SANDBOX_PREDICT=":/dev/console:/dev/random:/proc/self/maps:/usr/lib/portage/pym:/usr/lib/python2.0/:/usr/lib/python2.1/:/usr/lib/python2.2/:/usr/lib/python2.3/:/usr/lib/python2.4/:/usr/lib/python2.5/:/usr/lib/python3.0/:/usr/qt/3/etc/settings:/var/cache/edb/dep:/var/db/aliases.db:/var/db/ethers.db:/var/db/group.db:/var/db/hosts.db:/var/db/netgroup.db:/var/db/netmasks.db:/var/db/networks.db:/var/db/passwd.db:/var/db/protocols.db:/var/db/rpc.db:/var/db/services.db:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.:" declare -x SANDBOX_READ=":/:/dev/shm:/dev/stdin:/var/tmp:" declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/shm/ngpt:/dev/stderr:/dev/stdout:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/qt/3/etc/settings:/usr/tmp/cf:/usr/tmp/conftest:/var/log/scrollkeeper.log:/var/tmp:/var/tmp/:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.bash_history:/var/tmp/portage/net-www/gnash-0.8.1-r1/homedir/.gconfd/lock:" declare -x SANE_CONFIG_DIR="/etc/sane.d" declare -x SESSION_MANAGER="local/schrdlu-10:/tmp/.ICE-unix/10744" declare -x SLOT="0" declare -x STAGE1_USE="nptl nptlonly unicode" declare -x USB_DEVFS_PATH="/dev/bus/usb" declare -x USE="elibc_glibc ffmpeg gstreamer gtk kde kernel_linux mad opengl qt3 userland_GNU x86" declare -x USERLAND="GNU" declare -x VIDEO_CARDS="nvidia nv" declare -x VMHANDLE="blackdown-jdk-1.4.2" declare -x WINDOWID="31457285" declare -x XCURSOR_THEME="default" declare -x XDG_CONFIG_DIRS="/usr/kde/3.5/etc/xdg" declare -x XDG_DATA_DIRS="/usr/share:/usr/kde/3.5/share:/usr/local/share" declare -x XDM_MANAGED="/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,rsvd,method=classic" declare -x _E_DOCDESTTREE_="" declare -x _E_EXEDESTTREE_="" inherit: nsplugins -> /usr/portage/eclass/nsplugins.eclass *** Multiple Inheritence (Level: 2) inherit: eutils -> /usr/portage/eclass/eutils.eclass *** Multiple Inheritence (Level: 3) inherit: multilib -> /usr/portage/eclass/multilib.eclass *** Multiple Inheritence (Level: 4) inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass inherit: portability -> /usr/portage/eclass/portability.eclass inherit: kde-functions -> /usr/portage/eclass/kde-functions.eclass *** Multiple Inheritence (Level: 2) inherit: qt3 -> /usr/portage/eclass/qt3.eclass *** Multiple Inheritence (Level: 3) inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass inherit: versionator -> /usr/portage/eclass/versionator.eclass inherit: eutils -> /usr/portage/eclass/eutils.eclass *** Multiple Inheritence (Level: 3) inherit: multilib -> /usr/portage/eclass/multilib.eclass inherit: portability -> /usr/portage/eclass/portability.eclass inherit: qt3 -> /usr/portage/eclass/qt3.eclass *** Multiple Inheritence (Level: 2) inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass inherit: versionator -> /usr/portage/eclass/versionator.eclass inherit: multilib -> /usr/portage/eclass/multilib.eclass set-kdedir: entering function, parameters: eutils set-kdedir: version breakup: KDEMAJORVER=eutils KDEMINORVER=0 KDEREVISION=0 found set-kdedir: Will use the kdelibs installed in /usr/kde/3.5, and install into /usr. EMERGE-INFO Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.2.2, glibc-2.7-r1, 2.6.24-gentoo-r2 i686) ================================================================= System uname: 2.6.24-gentoo-r2 i686 AMD Athlon(tm) Processor Timestamp of tree: Tue, 12 Feb 2008 08:00:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.2-r1 dev-lang/python: 2.4.4-r6, 2.5.1-r5 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.24 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=athlon -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O3 -march=athlon -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.internode.on.net/pub/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X a52 aac aalib acl acpi alsa ao apache2 apm arts audiofile bash-completion berkdb bitmap-fonts bluetooth bzip2 cdr clamav cli cracklib crypt csope ctype cups curl curlwrappers dbus dga directfb dri dv dvb dvdr dvdread dvdrencode exif expat fam fastcgi ffmpeg fftw flac foomaticdb fortran ftp gcj gdbm ggi gif glut gmp gnutls gpm gpmgps graphviz gstreamer gtk gtk2 gtkhtml hal iconv ieee1394 imagemagick imap imlib ipv6 isdnlog jabber jack java javascript jbig jikesjpeg jpeg2k kde kerberos lcms ldap lesstif lm_sensors mad midi mmx mng motif mp3 mpeg mplayer mudflap musicbrainz ncurses nis nls nntpnptl nptl nptl-only nptlonly ogg opengl openmp pam pcntl pcre pdf perl php png posix ppds pppd python qt3 qt3-support qt4 quicktime readline reflection ruby scanner session snmpsoap sockets socks5 spl sqlite sse sse2 ssl svg svga symlink tcl tcltk tcpd tcpdtheora tiff tk truetype truetype-fonts type1-fonts unicode usb v4l vcd vorbis wifi win32codecs x86 xcomposite xine xinerama xinetd xorg xpm xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia nv" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS