From: Doug Goldstein <cardoe@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] add built_with_use_die() to eutils.eclass ?
Date: Mon, 23 Apr 2007 18:01:32 -0400 [thread overview]
Message-ID: <462D2CBC.7060309@gentoo.org> (raw)
In-Reply-To: <200704232346.00075.dju@gentoo.org>
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,
>
--
gentoo-dev@gentoo.org mailing list
next prev parent reply other threads:[~2007-04-23 22:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-23 21:45 [gentoo-dev] add built_with_use_die() to eutils.eclass ? dju`
2007-04-23 21:55 ` Petteri Räty
2007-04-23 22:01 ` Doug Goldstein [this message]
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=462D2CBC.7060309@gentoo.org \
--to=cardoe@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