Subject: Re: Issue with emacs.mk for the first package to use it...
To: Greg Troxel <gdt@ir.bbn.com>
From: None <david.sainty@dtsp.co.nz>
List: tech-pkg
Date: 08/12/2007 15:03:36
Hi Greg,

>   There is a problem though.  EMACS_VERSION_MAJOR is determined by
>   looking at the Emacs package that is currently installed.  There isn't
>   one installed yet though.  So it adds a dependency and continues, but
>   EMACS_VERSION_MAJOR is left unset.
> 
> That's buggy.  If EMACS_VERSION_MAJOR is ever going to be set, it should
> be set consistently, and that means either the installed version, or the
> version that was just added and will be installed.  So maybe all
> emacs-providing packages need a version.mk that emacs.mk includes.

Hmmm, that seems like a good solution...

> But, the whole notion of EMACS_VERSION_MAJOR is itself broken.  Is 21
> emacs or xemacs?  Is it really reasonable to want 'version 4 or higher
> of IE or netscape', ignoring that they are separately maintained?

Ah, there are ways to test which variant of Emacs is involved, and a
correct solution should check that.  Doxymacs doesn't (I should
mention that this was my decision :) because there isn't an XEmacs 22
in Pkgsrc, and I figured that there was a high likelihood that XEmacs
22 WOULD have the "url" interfaces that plain old Emacs has.

> Even further, it's wrong to encode information about which versions of
> emacs w3 works with in other packages.  So probably there should be some
> mk fragment in w3 that includes w3 either unconditionally (provoking
> failure), or conditionally (adding if it should).

I see where you're coming from, but that isn't really the issue here.
Doxymacs doesn't actually need all of w3, it just needs a bit of it
that also happens to have been pulled into Emacs core.  This special
knowledge about what Doxymacs needs is, I'd say, appropriate to add to
Doxymacs.  The fact that w3 doesn't work at all with Emacs 22 is a
separate issue.

An alternative more in keeping with what you are suggesting is to
break w3 into two packages, "w3" and "elp-url", the latter would
include just the "url" bits of "w3", and would not install if Emacs 22
was [going to be] installed.

As "right" as that might be, it seemed like an unnecessary amount of
effort for this one case that presumably will go away anyway when
Emacs 22 is the default.

Cheers,

Dave