• 0 Posts
  • 5 Comments
Joined 1 year ago
cake
Cake day: July 26th, 2023

help-circle

  • fish links against pcre2, which is a C library (via the pcre2 crate).

    (it used to also link against ncurses, now it uses the terminfo crate instead, which just reads the terminfo database in rust)

    Of course there is a way to make fish distributable as almost a single file (https://github.com/fish-shell/fish-shell/pull/10367), which rust does make easier (rust-embed is frickin’ cool), but these sorts of shenanigans would also be possible with C++ and aren’t really a big driver of the rust port. It’s more that cargo install would try to install it like that and so why not make that work?

    Really, my issue here is that the article makes “making fish available on servers” this huge deal when fish has always been available on servers?


  • There is nothing specific in the rust port that makes fish more available for servers or LTS distros.

    Before, you would have had to get a C++11 compiler (which used to be a bit of a PITA until 2020 or so), now you need to get rust 1.70 (which isn’t terrible given rustup exists).

    I see they’re taking it from this comment, which says

    Fish should be available on servers, which run old LTS distros - this means we build our own packages for a variety of them.

    Which is something that fish has always done - you can go to https://fishshell.com/ and get packages for Ubuntu, Debian, OpenSUSE and CentOS - all server distros, and these packages are built by the fish developers, not the distros.

    That quote comes from the “Setting The Stage” section of the comment, which describes the status quo. This is about explaining what fish does and needs from a new language, not about something that fish wants to achieve by switching the language.