Opened 6 years ago
Last modified 6 years ago
#56984 assigned defect
tkcvs 7.2.1 uses wish8.4, which doesn't exist on High Sierra
Reported by: | snarkhunter (Steve Langer) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.3 |
Keywords: | highsierra | Cc: | |
Port: | tkcvs |
Description
tkcvs has a run dependency on wish8.4, which doesn't exist on High Sierra. Sierra provided /usr/bin/wish8.4 and 8.5, but High Sierra only provides 8.5. Changing wish8.4 to wish8.5 in the depends_run and post-destroot lines in the Portfile leads to a run time error in tkdiff:
% tkdiff Error in startup script: expected integer but got "bold" (processing "-font" option) invoked from within ".client.left.text tag configure inlinetag -background DodgerBlue -font {TkFixedFont bold}" ("eval" body line 1) invoked from within "eval "$widget tag configure $tag $opts($tag)"" (procedure "build-client" line 104) invoked from within "build-client" (procedure "create-display" line 39) invoked from within "create-display" (procedure "main" line 33) invoked from within "main" (file "/opt/local/bin/tkdiff" line 10319)
Without changing the tkcvs Portfile, the dependency falls back to installing tk, which then installs all sorts of X11 libraries (which is weird and inconvenient when building tkcvs with +quartz -x11 but maybe not actually wrong). The tk port provides /opt/local/bin/wish8.6, but changing wish8.4 to wish8.6 in the tkcvs Portfile leads to the same run time error as above.
Change History (9)
comment:1 Changed 6 years ago by snarkhunter (Steve Langer)
comment:2 follow-up: 7 Changed 6 years ago by mf2k (Frank Schima)
FYI, the +no_x11
variant was removed from all ports years ago.
comment:3 Changed 6 years ago by mf2k (Frank Schima)
I'm not sure of what you are expecting to happen? If someone on High Sierra installs this port, it will install Macports tk and so it will work. I don't see a problem there.
comment:4 Changed 6 years ago by mf2k (Frank Schima)
Based on the sourceforge page, the latest version is 8.2.3. Maybe it works with tk 8.6 now?
comment:5 Changed 6 years ago by mf2k (Frank Schima)
It looks like version 8.2.3 works with tk 8.5 and so that should work for High Sierra. I'm working on updating the port.
comment:6 Changed 6 years ago by mf2k (Frank Schima)
Owner: | set to mf2k |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:7 Changed 6 years ago by snarkhunter (Steve Langer)
Replying to mf2k:
FYI, the
+no_x11
variant was removed from all ports years ago.
Thanks. I didn't know that. It's still suggested in the comments in variants.conf, which is why I used it.
comment:8 Changed 6 years ago by mf2k (Frank Schima)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Here is what @ryandesign said about this:
The tk port doesn't provide a wish8.5 executable; it provides a wish8.6 executable (and a wish symlink pointing to it, so you don't need to refer to it by version number).
Mac OS X 10.6 and later include wish8.5. Earlier versions of Mac OS X had wish8.4.
So it sounds like this port is really using macOS tk, and it should probably be switched to use MacPorts tk (assuming this software is compatible with tcl/tk 8.6). If it isn't, then the port should be reworked to remove this dependency and to use the correct version of wish for the current OS.
comment:9 Changed 6 years ago by mf2k (Frank Schima)
Owner: | mf2k deleted |
---|---|
Status: | reopened → assigned |
I should have mentioned that I'm using -x11 +no_x11 +quartz in variants.conf. I don't know if that matters.