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 |