useful for mesa, where there are a signficant number of crates referenced via meson wrap files, but this could be generally useful for other meson-based packages that do a similar thing for vendored libraries. This could be further extended in the future to add support for git/hg/svn wraps by adding subclasses of `Wrap` that support those metadata options. setting `MESON_PACKAGE_CACHE_DIR` allows meson to look for tarballs for wraps it needs automatically.
Cycle detector for void-packages
This script enumerates dependencies for packages in a void-packages repository and identifies build-time dependency cycles.
For command syntax, run xbps-cycles.py -h. Often, it may be sufficient to run
xbps-cycles.py with no arguments. By default, the script will look for a
repository at $XBPS_DISTDIR; if that variable is not defined, the current
directory is used instead. To override this behavior, use the -d option to
provide the path to your desired void-packages clone.
The standard behavior will be to spawn multiple processes, one per CPU, to
enumerate package dependencies. This is by far the most time-consuming part of
the execution. To override the degree of parallelism, use the -j option.
Dependencies can be cached on disk, one file per package, in directory
passed with -c option. On next execution with same option, dependencies are
read from file rather than computed.
Failures should be harmless but, at this early stage, unlikely to be pretty or even helpful.