rust-lang / rustup

The Rust toolchain installer
https://rust-lang.github.io/rustup/
Apache License 2.0
6.08k stars 876 forks source link

Add support for tcsh shell #3413

Open Rageoholic opened 1 year ago

Rageoholic commented 1 year ago

Problem

On FreeBSD, rustup will generate a .cargo/env that is sourced in .profile. There are two issues here.

  1. tcsh does not source .profile on run, it sources .login
  2. Manually sourcing .cargo/env will give a syntax error that too many arguments were given to case

Steps

  1. Install FreeBSD on a fresh machine with tcsh as the set shell (I used a VM)
  2. Install rustup using the given directions on the website
  3. You can either try to source .cargo/env or exit and reenter the shell
  4. Try running any rustup commands

Possible Solution(s)

Notes

No response

Rustup version

Rustup 1.26.0

Installed toolchains

rustc 1.71.0
rbtcollins commented 1 year ago

rustup scatters a bunch of entries to source the env file, because we don't know what shell the user will be using (it may not be the one they installed with). We have some code that represents this and I don't think we have tcsh support - if you'd like to add that that would be great.

rami3l commented 1 year ago

AFAIK tcsh isn't even POSIX, so supporting that falls into the same category as supporting fish, meaning that: