dju` wrote: > Hello, > > I'd like to add the following function to eutils.eclass : > > # Generate a standard error message for missing USE flags > # in existing packages, and die. > # > # Usage: built_with_use_die <category/package> <functionality> [<USE flag>] > # ex: built_with_use_die dev-util/subversion python > # or: built_with_use_die net-www/apache LDAP ldap > # > # Typical usage: > # if ! built_with_use dev-util/subversion python ; then > # built_with_use_die dev-util/subversion python > # fi > # > # Note: when <USE flag> is not specified, <functionality> is used for the USE > flag name. > Please look at the current built_with_use implementation and just wrap that since it does some more checks. You're also missing support for the --missing option.
> built_with_use_die() { > local package=$1 > local func=$2 > local use_flag=$3 > > [[ -z ${use_flag} ]] && use_flag=${func} > > eerror "Your ${package} package has been built without" > eerror "${func} support, please enable the '${use_flag}' USE flag and" > eerror "re-emerge ${package}." > elog "You can enable this USE flag either globally in /etc/make.conf," > elog "or just for specific packages in /etc/portage/package.use." > die "${package} missing ${func} support" > } > > This function is already used in latest www-apps/trac ebuilds. The following > packages might be concerned, i.e. packages that are currently using > built_with_use() : > > app-admin/system-config-httpd > app-admin/kedpm > app-admin/sabayon > app-admin/analog > app-admin/diradm > app-admin/moodss > app-admin/puppet > app-admin/keepassx > app-admin/webalizer > app-backup/bobs > app-cdr/k3b > app-cdr/dvdshrink > app-crypt/xca > app-crypt/gnupg > app-doc/kchmviewer > app-editors/joe > app-editors/gobby > app-emacs/emacs-w3m > app-emulation/wine > app-emulation/crossover-office-bin > app-emulation/crossover-office-pro-bin > app-emulation/xen-tools > app-i18n/uim > app-i18n/scim-bridge > app-i18n/scim-qtimm > app-misc/g15composer > app-misc/beagle > app-misc/gramps > app-misc/tracker > app-misc/tomboy > app-misc/webcomics-collector > app-office/krita > app-office/koffice > app-office/kmymoney2 > app-office/tinyerp-server > app-office/gnucash > app-office/mozilla-sunbird > app-office/gnumeric > app-office/qbankmanager > app-pda/libsyncml > app-pda/libopensync-plugin-syncml > app-pda/libopensync-plugin-irmc > app-portage/elogv > app-portage/esearch > app-portage/porthole > app-portage/layman > app-text/an > app-text/xdvik > app-text/bibletime > app-text/biblestudy > app-text/evince > app-text/enscript > app-text/epdfview > app-text/gnome-doc-utils > dev-cpp/Ice > dev-cpp/libthrowable > dev-db/pgadmin3 > dev-dotnet/galago-sharp > dev-games/ogre > dev-haskell/wxhaskell > dev-java/cairo-java > dev-java/velocity > dev-lang/lazarus > dev-lang/mercury-extras > dev-libs/g-wrap > dev-libs/m17n-lib > dev-lisp/sbcl > dev-ml/findlib > dev-ml/lablgl > dev-ml/ocamlnet > dev-php4/php-java-bridge > dev-php5/pecl-pdo-odbc > dev-php5/pecl-pdo-oci > dev-php5/php-qt > dev-php5/pecl-pdo-sqlite > dev-php5/pecl-pdo > dev-php5/pecl-pdo-dblib > dev-php5/pecl-pdo-mysql > dev-php5/pecl-pdo-pgsql > dev-python/pymssql > dev-python/pyzor > dev-python/soappy > dev-python/pyopengl > dev-python/imaging > dev-python/wxpython > dev-python/xapwrap > dev-python/telepathy-python > dev-ruby/ruby-gd > dev-ruby/sqlite3-ruby > dev-tcltk/thread > dev-tinyos/tos-getenv > dev-tinyos/tos-scripts > dev-util/meld > dev-util/pida > dev-util/source-highlight > dev-util/documancer > dev-util/dialog > dev-util/rapidsvn > dev-util/imediff2 > dev-util/svnmailer > games-action/rrootage > games-action/powermanga > games-action/noiz2sa > games-arcade/frozen-bubble > games-arcade/supertux > games-arcade/pycadia > games-arcade/solarwolf > games-arcade/defendguin > games-arcade/project-starfighter > games-arcade/stepmania > games-arcade/smclone > games-arcade/tomatoes > games-arcade/monster-masher > games-arcade/ceferino > games-emulation/dosbox-cvs > games-emulation/dosbox > games-fps/qudos > games-fps/quake3-bin > games-fps/duke3d > games-fps/quake1-data > games-fps/quake2-data > games-fps/quake2-icculus > games-fps/doom3-dungeon > games-kids/cubetest > games-mud/lyntin > games-puzzle/xye > games-puzzle/twindistress > games-puzzle/flobopuyo > games-puzzle/monsterz > games-rpg/nwn > games-rpg/tmw > games-rpg/xu4 > games-rpg/nwn-cep > games-simulation/gl117 > games-simulation/openttd > games-simulation/lincity-ng > games-simulation/planets > games-sports/ultimatestunts > games-strategy/freelords > games-strategy/wesnoth > gnome-extra/evolution-data-server > gnome-extra/hal-device-manager > gnome-extra/gnome-games > gnome-extra/evolution-exchange > kde-base/kpdf > kde-base/kdebase > kde-base/kdelibs > kde-base/kdegraphics > kde-base/kopete > kde-base/kghostview > kde-base/kdemultimedia-arts > kde-base/kdenetwork > kde-base/kdebase-kioslaves > kde-misc/tork > kde-misc/kompose > kde-misc/kdnssd-avahi > mail-client/mozilla-thunderbird > mail-client/evolution > media-fonts/acroread-asianfonts > media-gfx/splashutils > media-gfx/gimp > media-gfx/pstoedit > media-gfx/gimp-print > media-gfx/hugin > media-gfx/graphviz > media-gfx/asymptote > media-gfx/f-spot > media-gfx/kphotoalbum > media-libs/mesa > media-libs/libipoddevice > media-libs/giblib > media-libs/libquicktime > media-libs/openinventor > media-libs/openexr > media-libs/ploticus > media-plugins/vdr-softdevice > media-plugins/kipi-plugins > media-plugins/quodlibet-trayicon > media-plugins/vdr-weatherng > media-plugins/mytharchive > media-plugins/slimserver-alienbbc > media-plugins/quodlibet-ipod > media-sound/cmus > media-sound/audacity > media-sound/quodlibet > media-sound/timidity++ > media-sound/beast > media-sound/ncmpc > media-sound/pympd > media-sound/mt-daapd > media-sound/lastfmplayer > media-sound/exaile > media-sound/vorbis-tools > media-sound/listen > media-sound/mumble > media-sound/murmur > media-sound/sonata > media-sound/banshee > media-sound/alsa-tools > media-sound/prokyon3 > media-sound/alsa-utils > media-sound/pulseaudio > media-sound/slimserver > media-sound/padevchooser > media-tv/nuvexport > media-tv/freevo > media-tv/mythtv > media-video/mplayer-resume > media-video/ffmpeg2theora > media-video/kaffeine > media-video/cpdvd > media-video/oxine > media-video/totem > media-video/tovid > media-video/winki > media-video/avidemux > media-video/thoggen > media-video/recordmydesktop > media-video/dvbcut > media-video/dvdrip > media-video/mpeg4ip > media-video/kdenlive > media-video/ogmrip > media-video/ati-gatos > media-video/videotrans > net-analyzer/base > net-analyzer/ntop > net-analyzer/sarg > net-analyzer/cacti > net-analyzer/munin > net-analyzer/sguil-client > net-analyzer/aimsniff > net-analyzer/smokeping > net-analyzer/sguil-sensor > net-analyzer/sguil-server > net-analyzer/jffnms > net-analyzer/iptraf > net-analyzer/prewikka > net-analyzer/wireshark > net-dialup/speedtouch-usb > net-dialup/ueagle-atm > net-dns/avahi > net-firewall/firehol > net-firewall/shorewall > net-im/psi > net-im/sim > net-im/ekg2 > net-im/gaim > net-im/ekiga > net-im/gajim > net-im/tkabber > net-im/ejabberd > net-im/tapiocaui > net-irc/epic4 > net-irc/unrealircd > net-irc/inspircd > net-libs/rb_libtorrent > net-mail/vimap > net-mail/cyrus-imapd > net-mail/popa3d > net-mail/uw-imap > net-mail/vm-pop3d > net-mail/mailgraph > net-misc/ser > net-misc/neon > net-misc/vino > net-misc/xrdp > net-misc/sobby > net-misc/scponly > net-misc/asterisk-app_icd > net-misc/sitecopy > net-misc/asterisk-addons > net-misc/openntpd > net-misc/vidalia > net-misc/openvpn > net-misc/hylafax > net-misc/asterisk > net-nds/openldap > net-news/snownews > net-nntp/tin > net-nntp/slrn > net-p2p/amule > net-p2p/deluge > net-p2p/museek+ > net-p2p/bittorrent > net-p2p/mldonkey > net-p2p/qbittorrent > net-print/cups > net-voip/cohoba > net-wireless/wpa_supplicant > net-www/apache > rox-extra/musicbox > sci-biology/clustalx > sci-biology/treeviewx > sci-chemistry/apbs > sci-chemistry/maid > sci-chemistry/molmol > sci-electronics/pcb > sci-electronics/geda > sci-electronics/kicad > sci-geosciences/grass > sci-libs/gdal > sci-libs/hdf5 > sci-libs/scipy > sci-libs/libgeda > sci-mathematics/maxima > sci-visualization/hippodraw > sys-apps/hal > sys-apps/yum > sys-apps/qingy > sys-cluster/mpich2 > sys-devel/autogen > sys-freebsd/freebsd-rescue > sys-fs/loop-aes > sys-libs/uclibc > sys-power/powersave > sys-power/kpowersave > virtual/perl-DB_File > www-apache/anyterm > www-apache/mod_vhost_ldap > www-apps/trac > www-apps/bugzilla > www-apps/viewvc > www-apps/viewcvs > www-client/lynx > www-client/elinks > www-client/mozilla-firefox > www-servers/aolserver > x11-apps/xdm > x11-apps/xfd > x11-apps/xgc > x11-apps/xmh > x11-apps/xsm > x11-apps/xmag > x11-apps/xman > x11-apps/xvidtune > x11-apps/xphelloworld > x11-apps/xcalc > x11-apps/xedit > x11-apps/xload > x11-apps/editres > x11-apps/xclipboard > x11-apps/listres > x11-apps/xkbutils > x11-apps/xconsole > x11-apps/bitmap > x11-apps/xditview > x11-apps/xmessage > x11-apps/xclock > x11-apps/viewres > x11-apps/xfontsel > x11-base/xorg-server > x11-drivers/nvidia-drivers > x11-drivers/xf86-video-savage > x11-drivers/xf86-video-sunffb > x11-drivers/nvidia-legacy-drivers > x11-drivers/xf86-video-i810 > x11-drivers/xf86-video-tdfx > x11-drivers/xf86-video-ati > x11-drivers/xf86-video-mga > x11-drivers/xf86-video-sis > x11-drivers/xf86-video-via > x11-drivers/xf86-video-glint > x11-libs/gtk+ > x11-libs/pango > x11-libs/goffice > x11-misc/idesk > x11-misc/rss-glx > x11-misc/fraqtive > x11-misc/alacarte > x11-misc/xbindkeys > x11-misc/service-discovery-applet > x11-plugins/wmhdplop > x11-plugins/beryl-plugins > x11-plugins/gkrelltop > x11-themes/tango-icon-theme-extras > x11-themes/tangerine-icon-theme > x11-themes/tango-icon-theme > x11-wm/kahakai > x11-wm/stumpwm-cvs > x11-wm/beryl > x11-wm/enlightenment > x11-wm/fluxbox > xfce-extra/thunar-volman > > And eclasses : > > confutils.eclass > depend.php.eclass > games.eclass > games-mods.eclass > gkrellm-plugin.eclass > horde.eclass > java-utils-2 > kde.eclass > mysql.eclass > subversion.eclass > phpconfutils.eclass > php-common-r1.eclass > php5-sapi*.eclass > toolchain.eclass > x-modular.eclass > > Any thoughts? Thanks, > -- [EMAIL PROTECTED] mailing list