HEADSUP: FLAVORS (initial version) and subpackages proposals

Baptiste Daroussin bapt at FreeBSD.org
Thu Dec 22 20:07:50 UTC 2016

On Mon, Dec 19, 2016 at 08:45:36AM +0000, Matthew Seaman wrote:
> On 19/12/2016 07:47, David Demelier wrote:
> >> I have been working for a while on 2 long standing feature request for the ports
> >> tree: flavors and subpackages.
> >>
> >> For flavors I would like to propose a simple approach first which is more like a
> >> rework of the slave ports for now:
> >>
> >> Examples available here:
> >> https://reviews.freebsd.org/D8840 (with the implementation)
> >> and
> >> https://reviews.freebsd.org/D8843
> >>
> >> Design: introduce a 3rd level in the hierarchy and make it work a bit like slave
> >> ports
> >>
> >> pros:
> >> - all slave ports are self hosted under the same directory: easier for
> >>   maintenance
> >> - should work with all existing tools
> >>
> > This is what I really wanted for years especially for ports like spell
> > checker. Some are in dedicated categories such as french/aspell while
> > other are in textproc/<lang>-aspell and that's a big mess.
> > 
> > OpenBSD ports has something like textproc/aspell/<lang> and that is
> > very nice and clean. If the plan is to do the same, that is definitely
> > a major improvement.
> > 
> I really like this idea, although it's going to add a lot of extra
> directories and very similar small Makefiles to the ports.  Every python
> port would grow flavours to support two major versions of python just
> for starters, and those additional Makefiles would be almost identical
> across the python2 flavour and across the python3 flavour.
> Is it the intention that -devel or versioned ports are treated as
> flavours as well? So for example we could end up with lang/python/27
> lang/python/33 lang/python/34 and lang/python/35 ?

I think that would be a very very bad idea to have that. There should be only
one version for python2 and one version for python3 no more

> Why can't you have both flavoured and unflavoured variants of the same
> port -- eg. devel/example as well as devel/example/foo and
> devel/example/bar ?

In theory we could I'm working on that direction now.
> How well do flavours and sub-packages combine?  www/nginx would make a
> good example there, given it now has both loadable and compiled-in
> modules plus a couple of slave ports that just build different module
> load-outs.
The should fit well.

I have an example locally with php

I have lang/php56 which is now a single port that create zillions of packages
(the same granularity as we have now in ports) and a flavour lang/php56/zts
which does the same.

Best regards,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20161222/930897f1/attachment.sig>

More information about the freebsd-ports mailing list