If I add tcl to my packages, why is there no “tcl” command added to my path?
The tcl binary I assume is part of the tcl package?
If I add tcl to my packages, why is there no “tcl” command added to my path?
The tcl binary I assume is part of the tcl package?
pkgs.tcl
and maybe you want pkgs.tclx
too
add those to your system however you add other software via nix
(configuration.nix
, nix profile
command, nix-env
command, etc…)
This is what I’ve done, like all the hundreds other packages I’ve added, but I get no “tcl” binary in my path
environment.systemPackages = with pkgs; [
tcl
sorry, i checked my notes and that should add tclsh
command to your path…
does that work for you?
ok, but isn’t it normal to have “tcl” in the path and not “tclsh”?
without knowing the answer to that i would suggest it might not be normal to have any tcl
interpreter in your path in 2024
Good answer;). I’m trying to make emacspeak work and in my troubleshooting, I find this:
export DTK_PROGRAM=espeak
export DTK_TCL=tcl
export DTK_PORT=none
export DTK_DEVICE="espeak"
, so I would assume tcl has to be in my PATH
i think tclsh
will work just fine … can you override the environment variable?
I still get the same error when I override it.
export DTK_TCL=tclsh
I also found this:
If you get an error such as bash: tcl:: command not found, it means that tcl/tclx is not correctly installed on your system. You must get the latest version of either tcl or tclx and install it before Emacspeak will work.
I managed to modify the package, so that I get tclsh as tcl in my path
#tclsh as tcl
(pkgs.runCommand "tcl" { nativeBuildInputs = [ pkgs.makeWrapper ]; } ''
mkdir -p $out/bin
makeWrapper ${pkgs.tcl}/bin/tclsh $out/bin/tcl --argv0 tcl
'')
Sadly, still the same situation with Emacspeak, so it must be something else.
Thanks, anyway;)
Someone may have a better sense if you show-your-math–where do you see the above?
I’m not familiar with the package, but when I poke at it in a shell the only references I see to DTK_TCL via recursive grep appear to be documentation (and neither uses “tcl” as in yours):
$ grep -rn DTK_TCL /nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.texi:1382:export DTK_TCL=/usr/local/bin/eflite
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.texi:1431:export DTK_TCL=/usr/bin/perl
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.html:1342:export DTK_TCL=/usr/local/bin/eflite
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.html:1383:export DTK_TCL=/usr/bin/perl
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.info:1127: export DTK_TCL=/usr/local/bin/eflite
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/info/introducing-emacspeak.info:1166: export DTK_TCL=/usr/bin/perl
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/html/introducing-emacspeak.html:1257: export DTK_TCL=/usr/local/bin/eflite
/nix/store/7gqnz8s6dfs7wmnmdqxgapl6ahapfgyw-emacspeak-56.0/share/emacs/site-lisp/emacspeak/html/introducing-emacspeak.html:1296: export DTK_TCL=/usr/bin/perl
I found this specific clue on the Ubuntu forum.
Also, Emacspeak works fine if I start Emacs with emacspeak
. Like the forum post, I also want to start Emacspeak from inside Emacs. So, I guess it has nothing to do with tcl. It was a false lead;)