From cd8db6c1e04f597cf761eb224334d2fad22a11f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tukusej=E2=80=99s=20Sirs?= Date: Mon, 19 Jul 2021 13:42:56 +0000 Subject: docs: update compilation-guide --- compilation-guide.html | 219 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 144 insertions(+), 75 deletions(-) diff --git a/compilation-guide.html b/compilation-guide.html index f6f1348..e17bab7 100644 --- a/compilation-guide.html +++ b/compilation-guide.html @@ -2,7 +2,7 @@ title: Compilation guide description: A guide to compile Remmina from source on different operating systems published: true -date: 2021-07-19T13:15:17.849Z +date: 2021-07-19T13:42:48.760Z tags: editor: code dateCreated: 2021-07-18T10:35:58.314Z @@ -147,81 +147,150 @@ dateCreated: 2021-07-18T10:35:58.314Z

Tab

-

apt

-
+		

Arch Linux-based distributions

+
+				sudo pacman -S base-devel git avahi gtk3 libssh libvncserver gnome-keyring kwallet \
+				  libgnome-keyring libpulse libsodium vte3 cmake libappindicator-gtk3 \
+				  docbook-utils docbook-xsl pcre pcre2 spice-gtk spice-protocol gtk-vnc
+			
+ +

Debian 10

+
+				sudo apt install build-essential git-core gtk-vnc libssh-dev cmake libx11-dev \
+				  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \
+				  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \
+				  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \
+				  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev \
+				  libjson-glib-dev libavcodec-dev libxtst-dev libgtk-3-dev \
+				  libgcrypt20-dev  libpulse-dev  libvte-2.91-dev libxkbfile-dev \
+				  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \
+				  libsecret-1-dev libavahi-ui-gtk3-dev libvncserver-dev  \
+				  libappindicator3-dev intltool libsecret-1-dev \
+				  libwebkit2gtk-4.0-dev libsystemd-dev  libsodium-dev \
+				  libkf5wallet-dev libusb-1.0-0-dev libpcre2-dev
+			
+ +

Debian 9

+
+				sudo apt purge libssl-dev
+				
+				sudo apt install build-essential git-core gtk-vnc libssh-dev cmake libx11-dev \
+				  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \
+				  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \
+				  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \
+				  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev \
+				  libjson-glib-dev libavcodec-dev libxtst-dev libgtk-3-dev \
+				  libgcrypt11-dev  libpulse-dev  libvte-2.91-dev libxkbfile-dev \
+				  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \
+				  libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev  \
+				  libappindicator3-dev intltool libsecret-1-dev \
+				  libwebkit2gtk-4.0-dev libsystemd-dev  libsodium-dev libpcre2-dev
+			
+ +

FreeBSD 11

+
+				sudo pkg install cmake gccmakedep git pkgconf libX11 libXext libXinerama libXcursor \
+				  libXdamage libXv libxkbfile alsa-lib cups ffmpeg pulseaudio libssh \
+				  libXi libXtst libXrandr xmlto gstreamer1 gstreamer1-plugins ffmpeg \
+				  libx264 qt5-qmake qt5-buildtools pcre2 gtk-vnc
+			
+ +

Ubuntu 20.04+

+
+				sudo apt install build-essential git-core cmake libssl-dev libx11-dev \
+				  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \
+				  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \
+				  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \
+				  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev  \
+				  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt20-dev \
+				  libssh-dev libpulse-dev  libvte-2.91-dev libxkbfile-dev \
+				  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \
+				  libavahi-ui-gtk3-dev libvncserver-dev  libappindicator3-dev \
+				  intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev  \
+				  libsoup2.4-dev libjson-glib-dev libavresample-dev \
+				  libsodium-dev  libusb-1.0-0-dev libpcre2-dev
+			
+ +

Ubuntu 18.04

+
+				sudo apt install build-essential git-core cmake libssl-dev libx11-dev \
+				  libxext-dev libxinerama-dev libxcursor-dev libxdamage-dev \
+				  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \
+				  libxml2-dev libxrandr-dev libgstreamer1.0-dev \
+				  libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \
+				  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev \
+				  libssh-dev libpulse-dev libvte-2.91-dev libxkbfile-dev \
+				  libtelepathy-glib-dev libjpeg-dev libgnutls28-dev \
+				  libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
+				  libappindicator3-dev intltool libsecret-1-dev \
+				  libwebkit2gtk-4.0-dev libsystemd-dev libsoup2.4-dev \
+				  libjson-glib-dev libavresample-dev libsodium-dev \
+				  libusb-1.0-0-dev libpcre2-dev
+			
+ +

Red Hat-based distributions

+ +

We use yum for all commands as it’s still an alias on those distros which migrated to dnf.

+ +

We should create separate commands for Fedora, CentOS / Red Hat 7 and CentOS / Red Hat 8.

+ +

Add repositories

+ +
+				## Get some info of the currently installed distribution
+				## Note: This is used to determine what repositories need to be be installed
+				## and to create the relevant URLs
+				distro_name="$(grep -Po '^ID="*\K[^"]*' /etc/os-release)"
+				distro_version="$(rpm -E %$distro_name)"
+				
+				if [ "$distro_name" = 'fedora' ]; then
+				  distro_name_short='fedora'
+				else
+				  distro_name_short='el'
+				  epel_repo='epel-release'
+				fi
+				
+				## epel (on CentOS only): required for `openjpeg2-devel`, `openssl-devel`
+				## rpmfusion-free-updates (on both CentOS and Fedora): required for `ffmpeg-devel`
+				## PowerTools (on CentOS 8+ only)
+				## okay (on CentOS 8+); required for `avahi-ui-devel`
+				sudo yum -y install $epel_repo \
+				  https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm
+				
+				if [ "$distro_name" = 'centos' ] && [ "$distro_version" = 8 ]; then
+				  sudo dnf config-manager --enable PowerTools
+				  sudo rpm -ivh http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm
+				
+				  # Disable okay repo for potential package conflicts
+				  sudo dnf config-manager --disable okay
+				fi
+			
+ +

Update yum cache and packages

+ +
+				sudo yum -y upgrade
+			
-
- -

dnf/yum

- -

We use yum for all commands as it’s still an alias on those distros which migrated to dnf.

- -

We should create separate commands for Fedora, CentOS / Red Hat 7 and CentOS / Red Hat 8.

- -

Add repositories

- -
-			## Get some info of the currently installed distribution
-			## Note: This is used to determine what repositories need to be be installed
-			## and to create the relevant URLs
-			distro_name="$(grep -Po '^ID="*\K[^"]*' /etc/os-release)"
-			distro_version="$(rpm -E %$distro_name)"
-			
-			if [ "$distro_name" = 'fedora' ]; then
-			  distro_name_short='fedora'
-			else
-			  distro_name_short='el'
-			  epel_repo='epel-release'
-			fi
-			
-			## epel (on CentOS only): required for `openjpeg2-devel`, `openssl-devel`
-			## rpmfusion-free-updates (on both CentOS and Fedora): required for `ffmpeg-devel`
-			## PowerTools (on CentOS 8+ only)
-			## okay (on CentOS 8+); required for `avahi-ui-devel`
-			sudo yum -y install $epel_repo \
-			  https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm
-			
-			if [ "$distro_name" = 'centos' ] && [ "$distro_version" = 8 ]; then
-			  sudo dnf config-manager --enable PowerTools
-			  sudo rpm -ivh http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm
-			
-			  # Disable okay repo for potential package conflicts
-			  sudo dnf config-manager --disable okay
-			fi
-		
- -

Update yum cache and packages

- -
-			sudo yum -y upgrade
-		
- -

Install dependencies

- -
-			sudo yum -y install alsa-lib-devel atk-devel avahi-ui-gtk3 cairo-devel cmake3 \
-			  cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git \
-			  glib2-devel gnutls-devel gstreamer1-devel \
-			  gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel \
-			  json-glib-devel libappindicator-gtk3 \
-			  libappindicator-gtk3-devel libgcrypt-devel \
-			  libsecret-devel libSM-devel libsodium libsodium-devel \
-			  libsoup-devel libssh-devel libusb-devel \
-			  libvncserver-devel libX11-devel libXcursor-devel \
-			  libXdamage-devel libXext-devel libXi-devel \
-			  libXinerama-devel libxkbfile-devel libXrandr-devel \
-			  libxslt libxslt-devel libXtst-devel libXv-devel make \
-			  ninja-build openjpeg2-devel openssl-devel pango-devel \
-			  pulseaudio-libs-devel vte291 vte291-devel \
-			  webkitgtk4-devel xmlto xorg-x11-server-utils pcre2 pcre2-devel
-		
- -

pacman

-
-			sudo pacman -S base-devel git avahi gtk3 libssh libvncserver gnome-keyring kwallet \
-			  libgnome-keyring libpulse libsodium vte3 cmake libappindicator-gtk3 \
-			  docbook-utils docbook-xsl pcre pcre2 spice-gtk spice-protocol gtk-vnc
-		
+

Install dependencies

+ +
+				sudo yum -y install alsa-lib-devel atk-devel avahi-ui-gtk3 cairo-devel cmake3 \
+				  cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git \
+				  glib2-devel gnutls-devel gstreamer1-devel \
+				  gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel \
+				  json-glib-devel libappindicator-gtk3 \
+				  libappindicator-gtk3-devel libgcrypt-devel \
+				  libsecret-devel libSM-devel libsodium libsodium-devel \
+				  libsoup-devel libssh-devel libusb-devel \
+				  libvncserver-devel libX11-devel libXcursor-devel \
+				  libXdamage-devel libXext-devel libXi-devel \
+				  libXinerama-devel libxkbfile-devel libXrandr-devel \
+				  libxslt libxslt-devel libXtst-devel libXv-devel make \
+				  ninja-build openjpeg2-devel openssl-devel pango-devel \
+				  pulseaudio-libs-devel vte291 vte291-devel \
+				  webkitgtk4-devel xmlto xorg-x11-server-utils pcre2 pcre2-devel
+			

Clone Remmina repository

-- cgit v1.2.3