Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 09 Feb 2020 01:09:05 -0800
From:      Chris <portmaster@BSDforge.com>
To:        Kevin Oberman <rkoberman@gmail.com>
Cc:        freebsd-ports <freebsd-ports@freebsd.org>, <portmaster@bsdforge.com>
Subject:   Re: What is the actual syntax used to FLAVOR ports?
Message-ID:  <49900d827eeb176b797345d65a1b60e5@udns.ultimatedns.net>
In-Reply-To: <CAN6yY1uw6rz4_mKKKmuUh8vQ2W94wJJr27q-J8FdQScaYRAc-g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 8 Feb 2020 21:44:35 -0800 Kevin Oberman rkoberman@gmail=2Ecom said

> On Sat, Feb 8, 2020 at 1:27 PM Chris <portmaster@bsdforge=2Ecom> wrote:
>=20
> > OK I know FLAVOR is an evolving concept=2E But I can not find
> > the FLAVOR documentation=2E Only references in the porters
> > handbook=2E What I think needs to be available is an entire
> > list of flavor tags for all (port) categories=2E
> > For example;
> > make FLAVOR=3Dpython27 returns the error use py27=2E
> > OK now I know how to flavor, and build python flavors=2E
> > But what of Perl?
> > make FLAVOR=3Dperl2=2E8=2E Nope=2E How about make FLAVOR=3Dp5-28,
> > and so it goes=2E=2E=2E
> > Does there exist a definitive list of flavors? It'd
> > also be valuable for defining defaults in make=2Econf(5)
> >
> > Thanks!
> >
> > --Chris
>=20
>=20
> The problem is not having a clear understanding of what a FLAVOR is and
> when it is used=2E
>=20
> FLAVORS are generally a way to deal with the problem of incompatible
> versions and Python is the poster child=2E Python2 and Python3 are two
> version of a VERY popular language that have significant syntax
> incompatibilities=2E While a program written for gcc-4=2E2 should work fine
> when compiled with gcc-7, it is VERY unlikely that a program written for
> Python2 will work with Python3=2E While the changes needed are often fairly
> straight forward, they have to be made=2E The result is a requirement of
> having both interpreters installed and two packages of of most Python
> libraries built from a single source=2E
>=20
> Adding FLAVORS for a port is an expensive operation and is never lightly
> approved by the ports management team as it adds a great deal of complexi=
ty
> and both human and machine overhead=2E Requests to FLAVOR a port are
> carefully reviewed and will only be approved with adequate justification=2E
>=20
> In the case of Perl, no attempt to flavor it has been needed=2E Most Perl
> packages (p5-*) will work with any of the three available ports=2E In most
> cases they may be installed and continue to work across versions with no
> changes=2E Python (py-) ports MUST be reinstalled to move from Python2 to
> Python3=2E Some have not had required changes to work with Python3 made and=
,
> initially, almost none did=2E Some have now been written with no support fo=
r
> Python2=2E All of this has to be properly handled by the package building
> system and it is not at all trivial=2E
>=20
> As of today, I believe the only FLAVORed ports are those using emacs,
> lazarus, php, and, of course, python=2E By "using", I mean that the port
> Makefile includes "USE_PYTHON" or similar USE_ definitions of the other
> languages=2E (Yes, emacs is not a language, but elisp, the core of emacs, i=
s
> and lazarus is an IDE for Pascal=2E)
>=20
> I'm sorry of this is not entirely clear, but I hope it helps and I hope i=
t
> is all correct=2E I may have worded some of it poorly=2E
Thank you for taking the time to provide a very informative answer, Kevin=2E
You did a fine job!
I currently am Maintainer for ~150 ports=2E So have become very familiar
with the prerequisites=2E But have become fairly frustrated with the
introduction of FLAVOR(s)=2E Not the concept=2E But the lack of documenting
them=2E As a user; what would I use to apply a FLAVOR for any given port I
want to install; as in what is the correct syntax for all the languages
that are, or will be flavored? I can't seem to find any definitive
documentation=2E As a porter, the subject matter is fairly terse in the
porters handbook=2E Not many clues in /usr/ports/MK either=2E
So since I was unable to find much FLAVOR documentation=2E Specifically;
syntax for all the languages available to FLAVOR(s)=2E I thought I might
try here=2E

Thanks again, for taking the time to reply!

--Chris





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49900d827eeb176b797345d65a1b60e5>