Skip to content

Installing Pharo into Linux distributions

jthulhu edited this page Aug 3, 2023 · 5 revisions

We are using OpenBuildService to generate packages for different distributions. These packages have the advantage that they are installed using the package manager of the Linux distribution. They are built against the dependencies presented in the distribution, so it improves the stability and behaves correctly when interacting with installing libraries. You can install the pharo package for the VM or pharo-ui for the pharo vm, the pharo-ui script and all its dependencies.

We have support for the following distributions:

  • Debian: 9.0 / 10.0
  • Ubuntu: 18.04 / 20.04 / 20.10
  • Raspbian: 9.0 / 10.0
  • Arch
  • Fedora 32/33
  • OpenSuse Tumbleweed / Leap 15.2
  • NixOS: nixpkgs 23.11 / unstable

Installing instructions

Ubuntu

18.04

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_18.04/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_18.04/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

20.04

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_20.04/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_20.04/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

20.10

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_20.10/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/xUbuntu_20.10/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

Debian

9.0

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Debian_9.0/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Debian_9.0/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

10.0

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Debian_10.0/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Debian_10.0/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

Raspbian (Raspberry Pi OS)

9.0

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Raspbian_9.0/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Raspbian_9.0/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

10.0

echo "deb https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Raspbian_10.0/ ./" >> pharo.list
sudo cp pharo.list /etc/apt/sources.list.d/pharo.list
wget https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Raspbian_10.0/Release.key
sudo apt-key add Release.key
sudo apt-get update
sudo apt-get install pharo9

Arch Linux

For Arch Linux, edit /etc/pacman.conf and add the following (note that the order of repositories in pacman.conf is important, since pacman always downloads the first found package):

[devel_languages_pharo_latest_Arch]
Server = https://download.opensuse.org/repositories/devel:/languages:/pharo:/latest/Arch/$arch

Then run the following as root

key=$(curl -fsSL https://download.opensuse.org/repositories/devel:languages:pharo:latest/Arch/$(uname -m)/devel_languages_pharo_latest_Arch.key)
fingerprint=$(gpg --quiet --with-colons --import-options show-only --import --fingerprint <<< "${key}" | awk -F: '$1 == "fpr" { print $10 }')

pacman-key --init
pacman-key --add - <<< "${key}"
pacman-key --lsign-key "${fingerprint}"

pacman -Sy devel_languages_pharo_latest_Arch/pharo9-ui

Fedora

Fedora 33

dnf config-manager --add-repo https://download.opensuse.org/repositories/devel:languages:pharo:latest/Fedora_33/devel:languages:pharo:latest.repo
dnf install pharo9-ui

Fedora 32

dnf config-manager --add-repo https://download.opensuse.org/repositories/devel:languages:pharo:latest/Fedora_32/devel:languages:pharo:latest.repo
dnf install pharo9-ui

OpenSuse

Tumbleweed

zypper addrepo https://download.opensuse.org/repositories/devel:languages:pharo:latest/openSUSE_Tumbleweed/devel:languages:pharo:latest.repo
zypper refresh
zypper install pharo9-ui

Leap 15.2

zypper addrepo https://download.opensuse.org/repositories/devel:languages:pharo:latest/openSUSE_Leap_15.2/devel:languages:pharo:latest.repo
zypper refresh
zypper install pharo9-ui

NixOS

The pharo is present in nixpkgs starting from version 23.11, and can therefore be installed as any other package. Here are listed the install instructions for common setups with NixOS.

Home-manager

With home-manager, add the following to your home.nix. This will result in a user-side installation.

home.packages = [ pkgs.pharo ];

Then you need to execute home-manager switch for the change to take effect.

Nix

With Nix, you can imperatively install pharo in used-side.

$ nix-env -iA pharo

This requires that you have an appropriate channel setup.

Nix3

Since flakes, Nix has a new experimental cli. Using it, you can install pharo in user-side with

$ nix profile install nixpkgs#pharo

NixOS

You can install pharo system-wide by changing adding to your system module in configuration.nix

environment.systemPackages = [ pkgs.pharo ];

Then you need to run (as root) nixos-rebuild switch for the change to take effect.

Clone this wiki locally