"port provides" inside a Portfile?

Michael Dickens michaelld at macports.org
Sun Apr 5 18:56:05 PDT 2015


I'm in the process of splitting of a project (volk) from a port
(gnuradio); until last week they were provided in the same repo, and now
they are provided as 2 separate repos (but, volk is still required to
build gnuradio). This split is currently for gnuradio-(devel,next) only;
the release will catch up in a few weeks, and the legacy install will
never do the split.

Thus, in the new volk Portfile, I need to set up a pre-extract check to
see if libvolk is already installed, and if so then which port owns it.
If a gnuradio* port owns it, then I have the Portfile error out, telling
the user to force deactivate gnuradio*, then issue the upgrade to
gnuradio* (which will now install volk as well as update gnuradio*). For
testing purposes, I've done the following and it does work ... but, I'm
guessing there's a way I can do this inside the Portfile somehow using
some registry call. Any ideas? Thanks! - MLD

{{{
    if {[file exists ${prefix}/lib/libvolk.dylib]} {
        set volk_owner [exec ${prefix}/bin/port provides \
                            ${prefix}/lib/libvolk.dylib | \
                            awk "{ print \$NF }"]
}}}


More information about the macports-dev mailing list