Installation#
Srain is available on GNU/Linux, Windows, macOS and BSD.
Dependencies#
Name |
Notes |
Version |
---|---|---|
meson |
Only for Building |
> 0.47.0 |
make |
Optional, only for development |
|
appstream |
Only for building, on Debian-based distributions |
|
coreutils |
Only for building |
|
gcc |
Only for building |
|
pkg-config |
Only for building |
|
gettext |
Only for building |
|
glib2 |
||
glib-networking |
Optional, for TLS connection support |
|
gtk+3 |
>= 3.18 |
|
libsoup3 |
>= 3.0 |
|
libconfig |
>= 1.5 |
|
libsecret |
||
openssl |
||
python-sphinx |
Optional, for building documentation |
|
adwaita-icon-theme |
Or any other icon themes |
|
libayatana-appindicator |
Optional application indicator support, can be
disabled by meson options |
Building#
You should install the aboved Dependencies on your platform before the following steps.
Firstly, download source code of srain, you can get source code of latest release:
$ wget SrainApp/srain1.8.0.tar.gz $ tar -xvzf 1.8.0.tar.gz $ cd srain-1.8.0
Or get git version:
$ git clone https://github.com/SrainApp/srain.git
$ cd srain
Play with Meson#
Srain use Meson with ninja backend as its build system. You can build it via the following commands:
$ meson setup builddir
$ cd builddir
$ ninja
Warning
If building on macOS or another system where you might not have ayatana-appindicator, you have to somehow install that manually or disable it (it is optional) by running meson setup builddir -Dapp_indicator=false
Install(root privileges required):
$ cd builddir
# ninja install
HTML documentation and manpage are built and installed by default,
if you don’t need them, just set meson option doc_builders
to an empty array
when setup:
$ meson setup -Ddoc_builders=[] builddir
Makefile Helper#
We also provide a simple Makefile helper to simplify meson commands. It is convenient for development.
$ make # Build srain
$ make build # Same as above
$ make install # Install srain to prefix under project root
$ make run # Run srain with isolated $HOME and XDG Directory
$ make debug # Same as `make run`, but with GDB attached
$ make inspect # Same as `make run`, but with GtkInspector
$ make clean # Remove all compilation and installation result
$ make doc # View installed HTML documentation
Distribution Packages#
GNU/Linux#
Arch Linux#
Packages srain and srain-git (git version) are available on AUR, it is quite easy to install using AUR helper(yay as an example):
$ yay -S srain
$ yay -S srain-git # git version
If you are the user of Arch Linux CN Repository, try:
# pacman -S archlinuxcn/srain
# pacman -S archlinuxcn/srain-git # git version
Debian#
Srain now in offical repository of Debian:
# apt install srain
Fedora#
Srain now in offical repository of fedora, use dnf
to install it.
# dnf install srain
Flatpak#
cpba is maintaining Flatpak manifest for Srain and The built package is available on Flathub, just execute the following commands to install if you already have flatpak installed:
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub im.srain.Srain
Gentoo#
Please refers to gentoo portage overlays.
openSUSE#
alois is maintaining openSUSE package for Srain, following this link to install it.
Windows#
Srain requires Windows 7 or later.
Pre-built package#
After 2020-08-10 Version 1.1.2, we provide Windows portable binary that you can get it from Github release page.
Build byself#
If you want to build Srain on Windows youself, you should use the toolchains provided by MSYS2 project.
Firstly install MSYS2, then open a MSYS2 shell, install the basic build tools:
$ pacman -S base-devel
$ pacman -S mingw-w64-i686-toolchain # For 32-bit Windows
$ pacman -S mingw-w64-x86_64-toolchain # For 64-bit Windows
Then download the package script from MinGW PKGBUILD for Srain, run the following commands at the directory of PKGBUILD:
$ MINGW_INSTALLS=mingw32 makepkg-mingw -fsi # For 32-bit Windows
$ MINGW_INSTALLS=mingw64 makepkg-mingw -fsi # For 64-bit Windows
If everything goes well, Srain is installed under your MinGW prefix.
Note
If you suffer the “error while loading shared libraries: xxxx.dll: cannot open shared object file: No such file or directory” problem when running, please run it in cmd but not msys2 shell, and it will show you real missing library. [1]
macOS#
Warning
macOS support of Srain is still experimental.
There is not a distribution package or package script for Srain on macOS, you should build Srain by yourself.
Firstly install Homebrew, run the following commands to install dependencies:
$ brew install coreutils gcc pkg-config # building
$ brew install gettext glib-networking gtk+3 libsoup libconfig openssl adwaita-icon-theme libsecret
Next, tell pkg-config where to find the libraries we just installed:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/usr/local/opt/icu4c/lib/pkgconfig"
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/usr/local/opt/openssl@3/lib/pkgconfig"
Then follow the steps in Building.
BSD#
OpenBSD#
Please refers to OpenBSD Ports.