Gentoo Archives: gentoo-dev

From: Doug Goldstein <cardoe@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] add built_with_use_die() to eutils.eclass ?
Date: Mon, 23 Apr 2007 22:04:47
Message-Id: 462D2CBC.7060309@gentoo.org
In Reply to: [gentoo-dev] add built_with_use_die() to eutils.eclass ? by dju`
1 dju` wrote:
2 > Hello,
3 >
4 > I'd like to add the following function to eutils.eclass :
5 >
6 > # Generate a standard error message for missing USE flags
7 > # in existing packages, and die.
8 > #
9 > # Usage: built_with_use_die <category/package> <functionality> [<USE flag>]
10 > # ex: built_with_use_die dev-util/subversion python
11 > # or: built_with_use_die net-www/apache LDAP ldap
12 > #
13 > # Typical usage:
14 > # if ! built_with_use dev-util/subversion python ; then
15 > # built_with_use_die dev-util/subversion python
16 > # fi
17 > #
18 > # Note: when <USE flag> is not specified, <functionality> is used for the USE
19 > flag name.
20 >
21 Please look at the current built_with_use implementation and just wrap
22 that since it does some more checks. You're also missing support for the
23 --missing option.
24
25
26
27 > built_with_use_die() {
28 > local package=$1
29 > local func=$2
30 > local use_flag=$3
31 >
32 > [[ -z ${use_flag} ]] && use_flag=${func}
33 >
34 > eerror "Your ${package} package has been built without"
35 > eerror "${func} support, please enable the '${use_flag}' USE flag and"
36 > eerror "re-emerge ${package}."
37 > elog "You can enable this USE flag either globally in /etc/make.conf,"
38 > elog "or just for specific packages in /etc/portage/package.use."
39 > die "${package} missing ${func} support"
40 > }
41 >
42 > This function is already used in latest www-apps/trac ebuilds. The following
43 > packages might be concerned, i.e. packages that are currently using
44 > built_with_use() :
45 >
46 > app-admin/system-config-httpd
47 > app-admin/kedpm
48 > app-admin/sabayon
49 > app-admin/analog
50 > app-admin/diradm
51 > app-admin/moodss
52 > app-admin/puppet
53 > app-admin/keepassx
54 > app-admin/webalizer
55 > app-backup/bobs
56 > app-cdr/k3b
57 > app-cdr/dvdshrink
58 > app-crypt/xca
59 > app-crypt/gnupg
60 > app-doc/kchmviewer
61 > app-editors/joe
62 > app-editors/gobby
63 > app-emacs/emacs-w3m
64 > app-emulation/wine
65 > app-emulation/crossover-office-bin
66 > app-emulation/crossover-office-pro-bin
67 > app-emulation/xen-tools
68 > app-i18n/uim
69 > app-i18n/scim-bridge
70 > app-i18n/scim-qtimm
71 > app-misc/g15composer
72 > app-misc/beagle
73 > app-misc/gramps
74 > app-misc/tracker
75 > app-misc/tomboy
76 > app-misc/webcomics-collector
77 > app-office/krita
78 > app-office/koffice
79 > app-office/kmymoney2
80 > app-office/tinyerp-server
81 > app-office/gnucash
82 > app-office/mozilla-sunbird
83 > app-office/gnumeric
84 > app-office/qbankmanager
85 > app-pda/libsyncml
86 > app-pda/libopensync-plugin-syncml
87 > app-pda/libopensync-plugin-irmc
88 > app-portage/elogv
89 > app-portage/esearch
90 > app-portage/porthole
91 > app-portage/layman
92 > app-text/an
93 > app-text/xdvik
94 > app-text/bibletime
95 > app-text/biblestudy
96 > app-text/evince
97 > app-text/enscript
98 > app-text/epdfview
99 > app-text/gnome-doc-utils
100 > dev-cpp/Ice
101 > dev-cpp/libthrowable
102 > dev-db/pgadmin3
103 > dev-dotnet/galago-sharp
104 > dev-games/ogre
105 > dev-haskell/wxhaskell
106 > dev-java/cairo-java
107 > dev-java/velocity
108 > dev-lang/lazarus
109 > dev-lang/mercury-extras
110 > dev-libs/g-wrap
111 > dev-libs/m17n-lib
112 > dev-lisp/sbcl
113 > dev-ml/findlib
114 > dev-ml/lablgl
115 > dev-ml/ocamlnet
116 > dev-php4/php-java-bridge
117 > dev-php5/pecl-pdo-odbc
118 > dev-php5/pecl-pdo-oci
119 > dev-php5/php-qt
120 > dev-php5/pecl-pdo-sqlite
121 > dev-php5/pecl-pdo
122 > dev-php5/pecl-pdo-dblib
123 > dev-php5/pecl-pdo-mysql
124 > dev-php5/pecl-pdo-pgsql
125 > dev-python/pymssql
126 > dev-python/pyzor
127 > dev-python/soappy
128 > dev-python/pyopengl
129 > dev-python/imaging
130 > dev-python/wxpython
131 > dev-python/xapwrap
132 > dev-python/telepathy-python
133 > dev-ruby/ruby-gd
134 > dev-ruby/sqlite3-ruby
135 > dev-tcltk/thread
136 > dev-tinyos/tos-getenv
137 > dev-tinyos/tos-scripts
138 > dev-util/meld
139 > dev-util/pida
140 > dev-util/source-highlight
141 > dev-util/documancer
142 > dev-util/dialog
143 > dev-util/rapidsvn
144 > dev-util/imediff2
145 > dev-util/svnmailer
146 > games-action/rrootage
147 > games-action/powermanga
148 > games-action/noiz2sa
149 > games-arcade/frozen-bubble
150 > games-arcade/supertux
151 > games-arcade/pycadia
152 > games-arcade/solarwolf
153 > games-arcade/defendguin
154 > games-arcade/project-starfighter
155 > games-arcade/stepmania
156 > games-arcade/smclone
157 > games-arcade/tomatoes
158 > games-arcade/monster-masher
159 > games-arcade/ceferino
160 > games-emulation/dosbox-cvs
161 > games-emulation/dosbox
162 > games-fps/qudos
163 > games-fps/quake3-bin
164 > games-fps/duke3d
165 > games-fps/quake1-data
166 > games-fps/quake2-data
167 > games-fps/quake2-icculus
168 > games-fps/doom3-dungeon
169 > games-kids/cubetest
170 > games-mud/lyntin
171 > games-puzzle/xye
172 > games-puzzle/twindistress
173 > games-puzzle/flobopuyo
174 > games-puzzle/monsterz
175 > games-rpg/nwn
176 > games-rpg/tmw
177 > games-rpg/xu4
178 > games-rpg/nwn-cep
179 > games-simulation/gl117
180 > games-simulation/openttd
181 > games-simulation/lincity-ng
182 > games-simulation/planets
183 > games-sports/ultimatestunts
184 > games-strategy/freelords
185 > games-strategy/wesnoth
186 > gnome-extra/evolution-data-server
187 > gnome-extra/hal-device-manager
188 > gnome-extra/gnome-games
189 > gnome-extra/evolution-exchange
190 > kde-base/kpdf
191 > kde-base/kdebase
192 > kde-base/kdelibs
193 > kde-base/kdegraphics
194 > kde-base/kopete
195 > kde-base/kghostview
196 > kde-base/kdemultimedia-arts
197 > kde-base/kdenetwork
198 > kde-base/kdebase-kioslaves
199 > kde-misc/tork
200 > kde-misc/kompose
201 > kde-misc/kdnssd-avahi
202 > mail-client/mozilla-thunderbird
203 > mail-client/evolution
204 > media-fonts/acroread-asianfonts
205 > media-gfx/splashutils
206 > media-gfx/gimp
207 > media-gfx/pstoedit
208 > media-gfx/gimp-print
209 > media-gfx/hugin
210 > media-gfx/graphviz
211 > media-gfx/asymptote
212 > media-gfx/f-spot
213 > media-gfx/kphotoalbum
214 > media-libs/mesa
215 > media-libs/libipoddevice
216 > media-libs/giblib
217 > media-libs/libquicktime
218 > media-libs/openinventor
219 > media-libs/openexr
220 > media-libs/ploticus
221 > media-plugins/vdr-softdevice
222 > media-plugins/kipi-plugins
223 > media-plugins/quodlibet-trayicon
224 > media-plugins/vdr-weatherng
225 > media-plugins/mytharchive
226 > media-plugins/slimserver-alienbbc
227 > media-plugins/quodlibet-ipod
228 > media-sound/cmus
229 > media-sound/audacity
230 > media-sound/quodlibet
231 > media-sound/timidity++
232 > media-sound/beast
233 > media-sound/ncmpc
234 > media-sound/pympd
235 > media-sound/mt-daapd
236 > media-sound/lastfmplayer
237 > media-sound/exaile
238 > media-sound/vorbis-tools
239 > media-sound/listen
240 > media-sound/mumble
241 > media-sound/murmur
242 > media-sound/sonata
243 > media-sound/banshee
244 > media-sound/alsa-tools
245 > media-sound/prokyon3
246 > media-sound/alsa-utils
247 > media-sound/pulseaudio
248 > media-sound/slimserver
249 > media-sound/padevchooser
250 > media-tv/nuvexport
251 > media-tv/freevo
252 > media-tv/mythtv
253 > media-video/mplayer-resume
254 > media-video/ffmpeg2theora
255 > media-video/kaffeine
256 > media-video/cpdvd
257 > media-video/oxine
258 > media-video/totem
259 > media-video/tovid
260 > media-video/winki
261 > media-video/avidemux
262 > media-video/thoggen
263 > media-video/recordmydesktop
264 > media-video/dvbcut
265 > media-video/dvdrip
266 > media-video/mpeg4ip
267 > media-video/kdenlive
268 > media-video/ogmrip
269 > media-video/ati-gatos
270 > media-video/videotrans
271 > net-analyzer/base
272 > net-analyzer/ntop
273 > net-analyzer/sarg
274 > net-analyzer/cacti
275 > net-analyzer/munin
276 > net-analyzer/sguil-client
277 > net-analyzer/aimsniff
278 > net-analyzer/smokeping
279 > net-analyzer/sguil-sensor
280 > net-analyzer/sguil-server
281 > net-analyzer/jffnms
282 > net-analyzer/iptraf
283 > net-analyzer/prewikka
284 > net-analyzer/wireshark
285 > net-dialup/speedtouch-usb
286 > net-dialup/ueagle-atm
287 > net-dns/avahi
288 > net-firewall/firehol
289 > net-firewall/shorewall
290 > net-im/psi
291 > net-im/sim
292 > net-im/ekg2
293 > net-im/gaim
294 > net-im/ekiga
295 > net-im/gajim
296 > net-im/tkabber
297 > net-im/ejabberd
298 > net-im/tapiocaui
299 > net-irc/epic4
300 > net-irc/unrealircd
301 > net-irc/inspircd
302 > net-libs/rb_libtorrent
303 > net-mail/vimap
304 > net-mail/cyrus-imapd
305 > net-mail/popa3d
306 > net-mail/uw-imap
307 > net-mail/vm-pop3d
308 > net-mail/mailgraph
309 > net-misc/ser
310 > net-misc/neon
311 > net-misc/vino
312 > net-misc/xrdp
313 > net-misc/sobby
314 > net-misc/scponly
315 > net-misc/asterisk-app_icd
316 > net-misc/sitecopy
317 > net-misc/asterisk-addons
318 > net-misc/openntpd
319 > net-misc/vidalia
320 > net-misc/openvpn
321 > net-misc/hylafax
322 > net-misc/asterisk
323 > net-nds/openldap
324 > net-news/snownews
325 > net-nntp/tin
326 > net-nntp/slrn
327 > net-p2p/amule
328 > net-p2p/deluge
329 > net-p2p/museek+
330 > net-p2p/bittorrent
331 > net-p2p/mldonkey
332 > net-p2p/qbittorrent
333 > net-print/cups
334 > net-voip/cohoba
335 > net-wireless/wpa_supplicant
336 > net-www/apache
337 > rox-extra/musicbox
338 > sci-biology/clustalx
339 > sci-biology/treeviewx
340 > sci-chemistry/apbs
341 > sci-chemistry/maid
342 > sci-chemistry/molmol
343 > sci-electronics/pcb
344 > sci-electronics/geda
345 > sci-electronics/kicad
346 > sci-geosciences/grass
347 > sci-libs/gdal
348 > sci-libs/hdf5
349 > sci-libs/scipy
350 > sci-libs/libgeda
351 > sci-mathematics/maxima
352 > sci-visualization/hippodraw
353 > sys-apps/hal
354 > sys-apps/yum
355 > sys-apps/qingy
356 > sys-cluster/mpich2
357 > sys-devel/autogen
358 > sys-freebsd/freebsd-rescue
359 > sys-fs/loop-aes
360 > sys-libs/uclibc
361 > sys-power/powersave
362 > sys-power/kpowersave
363 > virtual/perl-DB_File
364 > www-apache/anyterm
365 > www-apache/mod_vhost_ldap
366 > www-apps/trac
367 > www-apps/bugzilla
368 > www-apps/viewvc
369 > www-apps/viewcvs
370 > www-client/lynx
371 > www-client/elinks
372 > www-client/mozilla-firefox
373 > www-servers/aolserver
374 > x11-apps/xdm
375 > x11-apps/xfd
376 > x11-apps/xgc
377 > x11-apps/xmh
378 > x11-apps/xsm
379 > x11-apps/xmag
380 > x11-apps/xman
381 > x11-apps/xvidtune
382 > x11-apps/xphelloworld
383 > x11-apps/xcalc
384 > x11-apps/xedit
385 > x11-apps/xload
386 > x11-apps/editres
387 > x11-apps/xclipboard
388 > x11-apps/listres
389 > x11-apps/xkbutils
390 > x11-apps/xconsole
391 > x11-apps/bitmap
392 > x11-apps/xditview
393 > x11-apps/xmessage
394 > x11-apps/xclock
395 > x11-apps/viewres
396 > x11-apps/xfontsel
397 > x11-base/xorg-server
398 > x11-drivers/nvidia-drivers
399 > x11-drivers/xf86-video-savage
400 > x11-drivers/xf86-video-sunffb
401 > x11-drivers/nvidia-legacy-drivers
402 > x11-drivers/xf86-video-i810
403 > x11-drivers/xf86-video-tdfx
404 > x11-drivers/xf86-video-ati
405 > x11-drivers/xf86-video-mga
406 > x11-drivers/xf86-video-sis
407 > x11-drivers/xf86-video-via
408 > x11-drivers/xf86-video-glint
409 > x11-libs/gtk+
410 > x11-libs/pango
411 > x11-libs/goffice
412 > x11-misc/idesk
413 > x11-misc/rss-glx
414 > x11-misc/fraqtive
415 > x11-misc/alacarte
416 > x11-misc/xbindkeys
417 > x11-misc/service-discovery-applet
418 > x11-plugins/wmhdplop
419 > x11-plugins/beryl-plugins
420 > x11-plugins/gkrelltop
421 > x11-themes/tango-icon-theme-extras
422 > x11-themes/tangerine-icon-theme
423 > x11-themes/tango-icon-theme
424 > x11-wm/kahakai
425 > x11-wm/stumpwm-cvs
426 > x11-wm/beryl
427 > x11-wm/enlightenment
428 > x11-wm/fluxbox
429 > xfce-extra/thunar-volman
430 >
431 > And eclasses :
432 >
433 > confutils.eclass
434 > depend.php.eclass
435 > games.eclass
436 > games-mods.eclass
437 > gkrellm-plugin.eclass
438 > horde.eclass
439 > java-utils-2
440 > kde.eclass
441 > mysql.eclass
442 > subversion.eclass
443 > phpconfutils.eclass
444 > php-common-r1.eclass
445 > php5-sapi*.eclass
446 > toolchain.eclass
447 > x-modular.eclass
448 >
449 > Any thoughts? Thanks,
450 >
451
452 --
453 gentoo-dev@g.o mailing list