fish-4.4.0

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 6. Shells

- Prev

  Shells

- Next

  ksh-1.0.10

- Up
- Home

# fish-4.4.0

## Introduction to fish

The fish package provides a friendly interactive shell.

- Download: https://github.com/fish-shell/fish-shell/releases/download/4.4.0/fish-4.4.0.tar.xz

### fish Dependencies

#### Required

CMake and Rustc

#### Optional

Sphinx (to build documentation)

## Installation of fish

Install fish by executing the following commands:

    mkdir build &&
    cd    build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr     \
          -D CMAKE_INSTALL_SYSCONFDIR=/etc \
          -D CMAKE_BUILD_TYPE=Release      \
          -D CMAKE_SKIP_INSTALL_RPATH=ON   \
          -D FISH_USE_SYSTEM_PCRE2=ON      \
          -D WITH_MESSAGE_LOCALIZATION=ON  \
          -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/fish-4.4.0 \
          -G Ninja .. &&

    ninja

Now as the `root` user:

    ninja install

## Configuring fish

### Configuration Information

As the `root` user, update `/etc/shells` to include the fish shell:

    grep -qxF /usr/bin/fish /etc/shells ||
    cat >> /etc/shells << "EOF"
    /usr/bin/fish
    EOF

## Command Explanations

`-D CMAKE_SKIP_INSTALL_RPATH=ON`: This switch makes cmake remove hardcoded library search paths (rpath) when installing a binary executable file or a shared library. This package does not need rpath once it's installed into the standard location, and rpath may sometimes cause unwanted effects or even security issues.

`-D CMAKE_INSTALL_DOCDIR=/usr/share/doc/fish-4.4.0`: This parameter installs documentation in a versioned directory, consistent with other packages.

`-D FISH_USE_SYSTEM_PCRE2=ON`: This parameter tells fish to link against the pcre2 installed in LFS.

`-D WITH_MESSAGE_LOCALIZATION=ON`: This parameter enables translations.

## Contents

Installed Programs: fish, fish_indent, fish_key_reader, and create_manpage_completions.py
Installed Libraries: None
Installed Directories: /etc/fish, /usr/share/fish, and /usr/share/doc/fish-4.4.0

### Short Descriptions

fish | is the friendly interactive shell
fish_indent | prettifies fish code
fish_key_reader | shows how to bind a certain key sequence
create_manpage_completions.py | generates fish completions from a man page

- Prev

  Shells

- Next

  ksh-1.0.10

- Up
- Home