#67016 closed defect (fixed)

Rcmdr needs R installed with +tcltk

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: kjellpk (Kjell Konis), i0ntempest
Port: Rcmdr

Description

The problem is that it is not a variant of the port in question, but the port itself needs a non-default variant of its dependency; subsequently, using require_active_variants makes CI checks fail.

Specifics: Rcmdr and some of its dependencies require R to be built with +tcltk, however the latter is not included in default variants. I tried a couple of ways to write ports for the former, but cannot get past CI checks failure.

Change History (5)

comment:1 Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

There isn't a way to write such a Portfile. This is why the use of variants for features that other ports might depend on is discouraged.

The usual answer in these cases would be that either R should include tcltk support by default or rather unconditionally without a variant, or the tcltk components of the R port should be split off into a separate port upon which a dependency can then be declared (if they are in fact separate components).

comment:2 Changed 21 months ago by jmroot (Joshua Root)

Cc: kjellpk i0ntempest added
Port: Rcmdr added
Summary: Advice needed: how to write a port when a non-default variant of a dependency is required?Rcmdr needs R installed with +tcltk

Trac is for tracking bugs, proposed enhancements, and other things that need to be done in our software; it isn't the right place to ask for advice (even just from the perspective of getting your question seen, it's not a good approach, because very few people read all tickets). Since this is arising from a specific issue, the ticket can remain open to track that issue.

comment:3 in reply to:  2 Changed 21 months ago by barracuda156

Replying to jmroot:

Trac is for tracking bugs, proposed enhancements, and other things that need to be done in our software; it isn't the right place to ask for advice (even just from the perspective of getting your question seen, it's not a good approach, because very few people read all tickets). Since this is arising from a specific issue, the ticket can remain open to track that issue.

Got it, thank you for correction.

comment:4 in reply to:  1 Changed 21 months ago by barracuda156

Replying to ryandesign:

There isn't a way to write such a Portfile. This is why the use of variants for features that other ports might depend on is discouraged.

The usual answer in these cases would be that either R should include tcltk support by default or rather unconditionally without a variant, or the tcltk components of the R port should be split off into a separate port upon which a dependency can then be declared (if they are in fact separate components).

I see, thanks. I will think what solution could work better in this case.

comment:5 Changed 19 months ago by barracuda156

Owner: set to barracuda156
Resolution: fixed
Status: newclosed

In 7efb84d65131d1f56047b47c2174d7cb805396df/macports-ports (master):

R: add +tcltk to default variants to support ports that depend on it

Closes: #67016

Note: See TracTickets for help on using tickets.