There are license and license_noconflict lines in Portfiles; if a port and what 
it depends on (including include files, no pun intended) are incompatible (I 
suppose assumed if they are different unless a license_noconflict line in one 
(both?) Portfile says it’s ok), then that port cannot be distributed in binary.

Only default variants will be prebuilt. That’s not just when you specify a 
non-default variant on “port install”, it’s also affected by changes you might 
have made to variants.conf.

A Portfile with
known_fail           yes
in it will not be built automatically, but will per the documentation also 
prompt the user if they really want to attempt to install it.

There may be other reasons I’m not aware of. There is a variant called 
+use_source, which may even be default for some ports, but I haven’t seen a 
good explanation of it. I can imagine that there might be ports best compiled 
on each system that uses them, so as to take advantage of hardware specific 
optimizations peculiar to a particular CPU or GPU (or other?) model, but I 
don’t know that such exist nor what if anything they would do to only be 
available in source.

Builds can fail, and there aren’t enough/active enough port maintainers to 
follow up on fixing everything that breaks - sad in a way, because if they 
could, that would catch failures on e.g. OS versions they did not themselves 
run and test on. In a perfect world, build failures could automatically 
generate tickets. :-)

If there was a magic way to search all Portfiles for those and possibly other 
keywords and analyze the results, it might be possible to determine what 
binaries SHOULD be available for (IF the last build attempt succeeded AND there 
is even a buildbot for that particular OS version).

I’m not sufficiently familiar with everything to be certain that what you want 
does not exist…but did not find it in a quick scan of the “port” man page and 
of guide.macports.org (could have missed it, that’s a lot for a quick scan!).

> On Dec 25, 2022, at 12:49 AM, Werner LEMBERG <w...@gnu.org> wrote:
> 
> 
> Folks,
> 
> 
> is there an option to `port` that shows me the names of all packages
> that must be built from source, and which are not available
> pre-compiled from 'packages.macports.org'?  Or maybe this list is
> somewhere else, ideally also giving a reason?  [My use-case is
> 'ghostscript', for which I can't see why it is not provided
> pre-compiled.]
> 
> Right now, I check 'packages.macports.org' directly whether there is a
> directory, but this is inefficient IMHO – and it doesn't give the
> reason :-)
> 
> 
>    Werner
> 

Reply via email to