-
Notifications
You must be signed in to change notification settings - Fork 71
Installing Pharo into Linux distributions
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
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
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
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
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
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
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
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
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
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
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
zypper addrepo https://download.opensuse.org/repositories/devel:languages:pharo:latest/openSUSE_Tumbleweed/devel:languages:pharo:latest.repo
zypper refresh
zypper install pharo9-ui
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
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.
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.
With Nix, you can imperatively install pharo
in used-side.
$ nix-env -iA pharo
This requires that you have an appropriate channel setup.
Since flakes, Nix has a new experimental cli. Using it, you can install pharo
in user-side with
$ nix profile install nixpkgs#pharo
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.