fish-4.2.1

Introduction to fish

The fish package provides a friendly interactive shell.

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_GETTEXT=ON               \
      -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/fish-4.2.1 \
      -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:

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.2.1: 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_GETTEXT=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.2.1

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