public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: dju` <dju@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] add built_with_use_die() to eutils.eclass ?
Date: Mon, 23 Apr 2007 23:45:48 +0200	[thread overview]
Message-ID: <200704232346.00075.dju@gentoo.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 9788 bytes --]

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.
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,
-- 
Julien Allanos (dju`)

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2007-04-23 21:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 21:45 dju` [this message]
2007-04-23 21:55 ` [gentoo-dev] add built_with_use_die() to eutils.eclass ? Petteri Räty
2007-04-23 22:01 ` Doug Goldstein
2007-04-23 23:09 ` Lars Weiler
2007-04-23 18:27   ` Zac Medico
2007-04-24  8:09   ` Julien Allanos (dju`)
2007-04-24  8:49 ` Marius Mauch
2007-05-17 21:02   ` Petteri Räty
2007-05-18 14:06     ` Doug Goldstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200704232346.00075.dju@gentoo.org \
    --to=dju@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox