On 5 February 2013 18:24, Baptiste Daroussin <b...@freebsd.org> wrote:
> On Mon, Feb 04, 2013 at 07:53:39PM +0100, René Ladan wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 04-02-2013 19:19, Baptiste Daroussin wrote:
>> > Hi,
>> >
>> > I have some improvements to the ports tree to propose, and I'm
>> > looking for testers/opinions
>> >
>> > First let me explain:
>> >
>> > I want to introduce a new USE_FEATURES macro into the ports tree
>> >
>> > The goal of this macros is to be able to standardize how we call
>> > all the USE_* things as well as creating some "load on demand" code
>> > for a corresponding feature.
>> >
>> > What I expect in long term is to get a more readable bsd.port.mk &
>> > friends, meaning easier to maintain
>> >
>> > I except some performance improvements given that make will have to
>> > parse less things.
>> >
>> > I also expect less complexity if bsd.*.mk code.
>> >
>> > What will have is all/most of the code corresponding to a
>> > USE_SOMETHING right now will endup in a Mk/features/something.mk
>> > which will be loaded only if the ports defines: USE_FEATURES=
>> > something
>> >
>> > the loading is done at the very early stage of bsd.port.post.mk to
>> > allow one to load modify USE_FEATURES depending on some options
>> > etc.
>> >
>> > each features/*.mk is itself protected by a variable to avoid multi
>> > loading of the same file
>> >
>> > if a feature depends on another one the feature itself just have to
>> > ".include" the other one.
>> >
>> This sounds like a good idea to me.
>>
>> > As a proof of concept I made the following: USE_FEATURES=   gmake
>> > (with a compatibility for USE_GMAKE to allow migration)
>> > USE_FEATURES=       iconv (with a compatibility for USE_ICONV to allow
>> > migration) USE_FEATURES=    motif (with no compatibility as I have
>> > switched all the USE_MOTIF ports to use it) USE_FEATURES=   fise
>> > (with no compatibility as I have switched all the USE_FUSE to use
>> > it) USE_FEATURES=   display (with no compatibilify as I have switched
>> > all the USE_DISPLAY to use it) USE_FEATURES=        pathfix (which is the
>> > equivalent of USE_GNOME= gnomehack without the need to loading the
>> > whole bsd.gnome.mk)
>> >
>> > The very long term goal will be to switch as much code as possible
>> > to be turn into a feature (when it makes sens of course)
>> >
>> Are you saying that some USE_BLAH=yes will stick around or do I
>> misunderstand?
>>
>> Another question: for USE_BLAH=yes the logical transformation would be
>> USE_FEATURES=BLAH but what about USE_FOO=BLAH ? Would
>> USE_FEATURES=FOO/BLAH (possibly another separator) or
>> USE_FEATURES=BLAH be more sensible?
>>
>
> patch has been updated to be able to support the following:
>
> USE_FEATURES=   foo:bla
> that will 1/ load foo.mk, 2/ create a variable: FEATURE_foo= bla
>
> So that you can do virtually any thing you want :)

IMHO this is pointless extra processing.  I'd prefer to see
FEATURE_foo be manually inserted.


-- 
Eitan Adler
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to