Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow building fish as self-installable #10367

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on May 7, 2024

  1. Copy the full SHA
    2d06335 View commit details
    Browse the repository at this point in the history
  2. complete: Only describe commands if the function exists

    This shells out to __fish_describe_command, but if the install is
    incomplete that will trigger the command-not-found handler.
    faho committed May 7, 2024
    Copy the full SHA
    eb9fbad View commit details
    Browse the repository at this point in the history
  3. Make the default PREFIX ~/.local/

    This applies to `cargo install`, cmake should override it by setting $PREFIX.
    
    This together with the previous change makes `cargo install` sort-of
    work-ish - you'll have to copy the assets manually, and you'll be
    responsible for upgrading them together with fish.
    faho committed May 7, 2024
    Copy the full SHA
    897b71a View commit details
    Browse the repository at this point in the history
  4. Make fish installable

    When built with the default "installable" feature:
    
    Run `fish --install` or `fish --install=noconfirm` (for
    non-interactive use)
    
    CMake disables the default features so nothing changes for that, but this allows installing via `cargo install`,
    and even making a static binary that you can then just upload and have extract itself.
    faho committed May 7, 2024
    Copy the full SHA
    b765d4b View commit details
    Browse the repository at this point in the history
  5. Use /etc/fish in $fish_function_path etc

    This used to create ~/.local/share/etc/fish, which makes no sense
    faho committed May 7, 2024
    Copy the full SHA
    748353a View commit details
    Browse the repository at this point in the history
  6. Install into a subdir of ~/.local/share/fish

    Otherwise you have all the gunk next to the history etc.
    
    So we isolate it in ~/.local/share/fish/install/.
    faho committed May 7, 2024
    Copy the full SHA
    4ec25d8 View commit details
    Browse the repository at this point in the history