list of packages that are always compiled
Joshua Root
jmr at macports.org
Tue Dec 27 03:06:21 UTC 2022
Richard L. Hamilton wrote:
> A plausible test case with the first of those (ffmpeg +nonfree) gave the expected result: return code 1, i.e. non-redistributable; and without the +nonfree variant, also gave the expected result of return code 0 (redistributable). That nicely shows that the results reflect the effects of dependency differences based on variant.
I should also point out for those who are unfamilar with it that
port_binary_distributable.tcl has a -v option that will show the reason
for non-distributability (technically only the first reason it finds;
there can be multiple reasons):
./port_binary_distributable.tcl -v ffmpeg +gpl3
"ffmpeg" is not distributable because its license "GPL-3+" conflicts
with license "GPL-2" of dependency "libvidstab"
> Does the behavior of those take into account configuration like a modified variants.conf (so the result aligns with what variants would be used if one did a port install)?
The two gists make no attempt to set any variants on the ports, so they
will give results that apply only for the default variants. As you
discovered, port_binary_distributable.tcl does apply variants given on
the command line, but it doesn't have code to merge in the
global_variations (as the variants requested via variants.conf are
called). It would be possible to add this for all of the scripts with a
little work.
> although both of the scripts that obtain the information for all ports are quite slow;
Yes, which is why storing the decision made by the buildbot is
preferable to generating the information on demand. The
all_distributable.tcl
<https://gist.github.com/jmroot/f84c329919356bfb1ed2d8425f3cfebb#file-all_distributable-tcl>
script is doing more work than it would take to regenerate the PortIndex
from scratch, and the latter takes well over 20 minutes on my machine.
On the other hand, all_bin_available.tcl
<https://gist.github.com/jmroot/f524dcfe5fdadcd8b7a9c2e46151e0d4> is
limited mainly by how fast the packages server responds, so changing it
to use a mirror that is closer to you could help. A faster multithreaded
implementation is left as an exercise for the reader. :-)
- Josh
More information about the macports-users
mailing list