A plea or sanity in port options menu

Alexey Shuvaev shuvaev at physik.uni-wuerzburg.de
Tue Feb 3 08:50:13 PST 2009


On Mon, Feb 02, 2009 at 03:39:25PM -0500, Bill Moran wrote:
> In response to Warren Block <wblock at wonkity.com>:
> 
> > On Mon, 2 Feb 2009, Bill Moran wrote:
> > 
> > > How about:
> > >
> > >       Options for port-fu
> > > [ ] BRG   Bernstein Riggs Guillotine parsing
> > > [X] QFZ   Quantum Freeze Zulu rending
> > >
> > > At least that one gives me _some_ idea what those TLAs mean.
> > >
This particular example is nonexistent and thus too far from reality.

> > 
> > [snip]
> 
> I don't think there's any need for any new features in the ports
> infrastructure.  I think it's just a matter of Makefile authors taking
> the time to describe their options.  A quick test of some ports turns
> up this one:
> 
>  [ ] OPENGL  OpenGL support 
> 
> True but useless.  How about:
> 
>  [ ] OPENGL  Use OpenGL graphics library
> 
> ...which, at least give the user _some_ idea what they're doing.
> 
I don't see any difference here. OpenGL = Open Graphics Library, so your
description is redundunt (Use Open Graphics Library graphics library).
Well, you can write 'Use Open Graphics Library', but it is again
not so much different from 'OpenGL support'.

> OpenGL probably isn't a good example, however.  It's pretty easy to Google
> OpenGL and figure out what it is.
>
As quite a number of other 'bad' option descriptions.

> Here's some more bizarre options:
> 
>  [X] EPUB          Epub modules
>  [X] EXTENSIONS    Extensions
>  [X] TEMPLATE      Templates
>  [X] TOOLS         Tools
> 
> I mean, if I enable "Extensions", what happens?  How do I figure out
> what happens?  I have to read the Makefile, at which point having these
> options on a menu is pretty pointless.  I mean, I can't even come up
> with a Google search to help me figure out what "tools" are involved
> here.
> 
> There are some ports that do this very well.  For example:
>  [ ] NLS               Use internationalized messages
>  [ ] PAM               Build with PAM support (server only)
					^^^^^^
				Exactly what you are fighting against.

>  [ ] LDAP              Build with LDAP authentication support
>  [ ] MIT_KRB5          Build with MIT's kerberos support
>  [ ] HEIMDAL_KRB5      Builds with Heimdal kerberos support
						^^^^^^^^^^^
					The above 2 also.

>  [ ] OPTIMIZED_CFLAGS  Builds with compiler optimizations (-O3)
>  [X] XML               Build with XML data type (server)
>  [X] TZDATA            Use internal timezone database (server)
>  [ ] DEBUG             Builds with debugging symbols
>  [ ] ICU               Use ICU for unicode collation (server)
>  [ ] INTDATE           Builds with 64-bit date/time type (server)
> 
> I mean, a Google on ICU is liable to bring up all sorts of medical drama
> websites, but I can do a search for "ICU unicode" and find my answer on
> the first result.  Not only am I told that optimized compiler flags are
> an option, but I'm told the exact one that will be used (-O3)
> 
> The porters handbook doesn't seem to offer any helpful advice on these:
> http://www.freebsd.org/doc/en/books/porters-handbook/makefile-options.html
> 
> In fact, the examples it provides are excellent examples of doing it
> WRONG.
> 
> Let me see about making a patch to the porters handbook to provide some
> advice ...
> 
Ok let's examine my 4 ports 3 of which do use OPTIONS.

x11-toolkits/gtkdatabox:
OPTIONS=        GLADE "Enable libglade2 support" off \
                GLADEUI "Enable glade3 support" off

/usr/ports/devel/libglade2> cat pkg-descr 
LibGlade allows GLADE interfaces to be handled at runtime, freeing
GUI development from code development.  This allows an interface to
be changed without requiring a re-compilation.

/usr/ports/devel/glade3> cat pkg-descr 
Glade is a RAD tool to enable quick & easy development of user interfaces
for GTK+/GNOME.  It can generate the C source code needed to create
the interfaces designed within Glade's interface editor.

Any idea here how to put all these into small line of description field?
[RAD = Rapid Application Development, hope you know what GUI is]
Do these long descriptions help you?

x11-toolkits/slgtkdatabox:
OPTIONS=        SLGLADE "Enable slglade support (run-time)" off

/usr/ports/devel/slglade> cat pkg-descr 
SLglade is a S-Lang module that provides S-Lang bindings
for the libglade library. Used in conjunction with SLgtk,
it allows you to design your GUI with Glade (a GTK+ user interface builder),
save the interface description in a Glade XML file,
and then generate your S-Lang script's graphical interface
directly from the XML at runtime. This should reduce the time spent
developing SLgtk applications considerably, as it eliminates
the tedious job of writing interface-creation code by hand.

This is an update for Christopher Stawarz's SLglade module.

WWW: http://laurent.perez2.free.fr/comp/slang/modules/modules.html

Same here, short version of pkg-descr for slglade???

x11-toolkits/slgtk:
OPTIONS=        FITS "Install gdk-pixbuf FITS image loader" off

Ok this seems to be what you want to have. Does it help really much?
You have to Google anyway to get some idea what is it.

I think you can understand the meaning of most of the OPTIONS if you
have some programming experience. Otherwise it is better to rely upon
maintainer's defaults.

My ideas about the subject,
Alexey.


More information about the freebsd-ports mailing list