hstr/INSTALLATION.md
2018-08-20 22:25:16 +02:00

398 lines
8.5 KiB
Markdown

# Installation
Install:
* [Ubuntu](#ubuntu)
* [Fedora](#fedorarhelcentos)
* [Gentoo](#gentoo)
* [CentOS](#fedorarhelcentos)
* [openSUSE](#opensuse)
* [RHEL](#fedorarhelcentos)
* [Debian](#debianmint)
* [Mint](#debianmint)
* [Arch Linux](#arch-linux)
* [Scientific Linux](#fedorarhelcentos)
* [macOS](#macos)
Build:
* [build on any Linux distro](#build-on-any-linux-distro)
* [build snap](#snap)
* [build on Ubuntu](#build-on-ubuntu)
* [build on Debian](#build-on-debian)
* [build on Fedora](#build-on-fedora)
* [build on Windows Subsystem for Linux (WSL)](#build-on-wsl)
* [build on Cygwin](#build-on-cygwin)
* [build on macOS](#build-on-macos)
Tarball:
* [build and install tarball](#build-and-install-tarball)
# Install
Install HSTR using a package.
## Ubuntu
Install `hh` on Ubuntu using one-liner:
```bash
sudo add-apt-repository ppa:ultradvorka/ppa && sudo apt-get update && sudo apt-get install hh && hh --show-configuration >> ~/.bashrc
```
... or step by step:
```bash
sudo add-apt-repository ppa:ultradvorka/ppa
sudo apt-get update
sudo apt-get install hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Fedora/RHEL/Centos
Install `hh` on Fedora, RHEL or CentOS:
```bash
sudo dnf install hstr -y
```
... or:
```bash
sudo yum install hstr -y
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
---
If you want to make sure you have the latest version, then download `.rpm` archive from
[GitHub releases](https://github.com/dvorka/hstr/releases) and install it:
```bash
sudo dnf install ./hstr-<major>.<minor>.<revision>-2.x86_64.rpm -y
```
## Debian/Mint
Install `hh` from PPA. Add [my PPA](http://www.mindforger.com/debian),
trust [GPG key](http://www.mindforger.com/gpgpubkey.txt) and install `hh`:
```bash
# add PPA to APT sources:
sudo echo -e "\ndeb http://www.mindforger.com/debian stretch main" >> /etc/apt/sources.list
# import PPA's GPG key
wget -qO - http://www.mindforger.com/gpgpubkey.txt | sudo apt-key add -
# update sources
sudo apt update
# install MindForger
sudo apt install hstr
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
---
Alternatively you can download and install `.deb` archive from [GitHub releases](https://github.com/dvorka/hstr/releases)
section of the project:
```bash
dpkg -i hstr_-<major>.<minor>.<revision>_1-amd64.deb
```
## openSUSE
To install `hh` on openSUSE Leap 42.1 run the following commands as root:
```bash
zypper addrepo http://download.opensuse.org/repositories/home:tuw-e184/openSUSE_Leap_42.1/home:tuw-e184.repo
zypper refresh
zypper install hstr
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Gentoo
To install `hh` on Gentoo run (HSTR has been added to [Portage](https://bugs.gentoo.org/show_bug.cgi?id=527122)):
```bash
emerge app-shells/hstr
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Arch Linux
To install HSTR on Arch Linux download latest distribution from [GitHub releases](https://github.com/dvorka/hstr/releases).
Use [PKGBUILD](https://wiki.archlinux.org/index.php/PKGBUILD) in the root of the distribution to build package using `makepkg`.
https://aur.archlinux.org/packages/hstr-git/
Install `hh`.
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## macOS
Install `hh` on macOS using [Homebrew](http://brew.sh/) ([formula](https://formulae.brew.sh/formula/hh)):
```bash
brew install hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
# Build
Build HSTR from source code.
## Build on any Linux distro
Clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hh` using:
```bash
./configure && make && make install
```
Run HSTR:
```bash
hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build snap
To build [snap](https://snapcraft.io/) for 'hh' first clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Make sure that you can build HSTR from source code
as described in a "Build on ..." section for your
distribution.
Install [snapcraft](https://snapcraft.io/) and build
snap by running snapcraft in the root of Git repository:
```
$ ls ./snap
snapcraft.yaml
$ snapcraft
...
```
Find `hh_0+git..._amd64.snap` in the current directory.
## Build on Ubuntu
To build `hh` on Ubuntu clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Install dependencies:
```bash
sudo apt install automake gcc make libncursesw5-dev libreadline-dev
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hh` using:
```bash
./configure && make && make install
```
Run HSTR:
```bash
hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build on Debian
To build `hh` on Debian clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Install dependencies:
```bash
sudo apt install autotools gcc make libncursesw5-dev libreadline-dev
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hh` using:
```bash
./configure && make && make install
```
Run HSTR:
```bash
hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build on Fedora
To build `hh` on Fedora clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Install dependencies:
```bash
sudo dnf install autotools ncurses-devel readline-devel
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hh` using:
```bash
./configure && make && make install
```
Run HSTR:
```bash
hh
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build on WSL
To build `hstr` on [Windows Subsystem for Linux (WSL)](https://msdn.microsoft.com/en-us/commandline/wsl/about) clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Install dependencies:
```bash
sudo apt install automake gcc make libncursesw5-dev libreadline-dev
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hstr` using:
```bash
./configure && make && make install
```
It's **important** to finish installation by configuration of `hstr` binding
which ensures propagation of chosen command to the prompt:
```bash
hstr --show-configuration >> ~/.bashrc
. ~/.bashrc
```
Make sure to **run** `hstr` using <kbd>Ctrl</kbd><kbd>r</kbd> - otherwise commands will not appear in prompt.
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build on Cygwin
To build `hh` on [Cygwin](https://www.cygwin.com) clone Git repository:
```bash
git clone https://github.com/dvorka/hstr.git
```
Create build files using:
```bash
cd ./build/tarball && ./tarball-automake.sh && cd ../..
```
Build and install `hh` using:
```bash
./configure && make && make install
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
## Build on macOS
HSTR can be built on macOS either using [MacPorts](https://www.macports.org/) or [Homebrew](https://brew.sh/).
---
To build `hh` using [MacPorts](https://www.macports.org/) install `readline` and `ncurses`:
```bash
port install readline
port install ncurses
```
Check `portfile` either on [macports.com](https://www.macports.org/ports.php?by=name&substr=hstr) or [GitHub](https://github.com/macports/macports-ports/blob/master/shells/hstr/Portfile):
```bash
autoreconf -fvi
./configure CFLAGS=-I/opt/local/include/ LDFLAGS=-L/opt/local/lib
make
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
---
To build `hh` using [Homebrew](https://brew.sh/):
```bash
autoreconf -fvi
./configure CFLAGS=-I$(brew --prefix)/opt/readline/include LDFLAGS=-L$(brew --prefix)/opt/readline/lib
make
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).
# Tarball
Download and install HSTR tarball.
## Build and Install Tarball
Download latest tarball from [GitHub releases](https://github.com/dvorka/hstr/releases) section.
Expand the archive and install `hh` using:
```bash
./configure && make && make install
```
[Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).