Opened 11 years ago

Last modified 8 years ago

#40294 new enhancement

Avoid building ports with unmet dependencies or try to build dependencies with requested variants

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Low Milestone:
Component: contrib Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), neverpanic (Clemens Lang), ctreleaven (Craig Treleaven)
Port:

Description

I came across examples of ports which use the active_variants PortGroup and request a specific variant of dependency to be present (two notable examples are wxMaxima and p5-graphics-gnuplotif). The buildbot might spend 15 minutes activating or compiling dependencies of p5-graphics-gnuplotif only to figure out that gnuplot hasn't been built with +wxwidgets.

While I would preferentially like to request that when the user (or a port on the buildbot) asks for a certain variant of the port that isn't active, MacPorts would try to install the dependency with that variant, it would at least make sense to detect the problem much earlier and not event start the compilation. See also #40293 for the request to not report such incidences as "compilation failed" by the buildbot.

Change History (3)

comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Component: server/hostingcontrib
Owner: changed from wsiegrist@… to macports-tickets@…

I think what you're asking for here is changes to MacPorts BuildBot (formerly MacPorts AutoBuild).

comment:2 Changed 8 years ago by mojca (Mojca Miklavec)

Cc: cal@… added

We could implement this on the buildbot with some additional trickery, but I'm not sure how to manually handle situations when:

  • port A depends on B
  • port B depends on C +foo

At the moment I don't know how to prevent building of A upfront or how to trigger the installation of C +foo.

From what I understand the dependency solver might fix this issue "for free", so it might be better to wait until that code gets released than to implement some horrible hacks.

If the idea is to wait for the dependency solver, we could close this as wontfix and track the progress of dependency solver in another ticket.

See also #51995.

Last edited 8 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:3 Changed 8 years ago by ctreleaven (Craig Treleaven)

Cc: ctreleaven@… added

Cc Me!

Note: See TracTickets for help on using tickets.