Werner LEMBERG 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 :-)

There is no option to port(1) that will show this. The buildbot logs (which are linked from ports.macports.org) do contain this information; for example, <https://ports.macports.org/port/libewf/details/> links to <https://build.macports.org/builders/ports-13_x86_64-builder/builds/6392> which in the stdio for the "gather archives" step says: "libewf" is not distributable because its dependency "macfuse" has license "restrictive" which is not known to be distributable.

Of course that's a bit more digging than would be ideal, and the logs do eventually get deleted, so getting the web app to remember and display this information right on the port details page would be a good improvement.

Also, whether a binary archive is currently available for a port and whether one would be made available if the port were built are two different questions. Answering the former requires a http request to packages.macports.org. To answer the latter, you can use the same script that the buildbot uses: <https://github.com/macports/macports-infrastructure/blob/master/jobs/port_binary_distributable.tcl>

Generating this information for all ports is not too difficult with a little scripting, but does take quite some time.

List which ports do and don't have an archive available (for your current OS version and arch): <https://gist.github.com/jmroot/f524dcfe5fdadcd8b7a9c2e46151e0d4>

List which ports are and aren't considered distributable: <https://gist.github.com/jmroot/f84c329919356bfb1ed2d8425f3cfebb>

- Josh

Reply via email to