Skip to content

PureOnArch

Albert Graef edited this page Aug 5, 2022 · 6 revisions

Pure on Arch Linux

Thanks to the work of Björn Lindig, Alastair Pharo, and others, a fairly complete collection of packages is available in the Arch User Repositories (AUR). A list of our AUR packages can be found here. You can install directly from the AUR, using your preferred AUR helper program. E.g. (taking yay as an example):

yay -S pure

Please note that this will build the package(s) from source, which may take a while.

There are a few meta packages in the AUR, like pure-meta-base, pure-meta-multimedia, etc., which let you quickly install various categories of Pure-related packages. To get the entire shebang, install the pure-meta-complete package:

yay -S pure-meta-complete

This compiles most of the Pure codebase and thus will take a really long time, and pull in a lot of dependencies. To get up and running much more easily and quickly, you can use our binary package repositories, see below.

OBS Repositories

As of August 2019, we maintain all our binary package repositories on SuSE's Open Build Service (OBS). Using OBS, the packages are built in a secure and clean build environment, which ensures that all packages build properly and are up-to-date with respect to 3rd party dependencies at all times.

We maintain two different repositories of binary pacman packages at the OBS:

  • Stable contains packages built from the latest release of each package. This is pretty much the same collection of packages as in the AUR, plus some dependencies which aren't in the official Arch repositories. It also offers some extra 3rd-party multimedia packages (purr-data) along with the corresponding Pure and Faust modules which are written in the Pure programming language.

  • Rolling contains a "rolling release" of packages built straight from the Pure git sources. Since Pure has been in maintenance mode for a while now, this is basically the same as the stable release at this point, and thus the rolling release is a lot less useful than it used to be. But that may change again in the future.

Each repository has its own download URL to be used in the pacman configuration. If you use the rolling repository, you must also enable the stable repository for the dependencies it provides. It is always safe to just enable both repositories, so that you can decide at a whim which set of packages you want to use. The quick and dirty way to do this is to put these two entries at the end of your pacman.conf file:

[home_aggraef_arch_pure_Arch]
SigLevel = Never
Server = https://download.opensuse.org/repositories/home:aggraef:arch:pure/Arch/$arch

[home_aggraef_arch_pure-git_Arch]
SigLevel = Never
Server = https://download.opensuse.org/repositories/home:aggraef:arch:pure-git/Arch/$arch

Note that this will bypass the PGP key checks that pacman normally performs to ensure the integrity of a repository. Instructions on how to enable PGP checks can found in the Download pages of each repository, see below.

Update your configuration and start installing packages:

sudo pacman -Sy
sudo pacman -S pure pure-docs

The rolling release packages are named the same with an additional -git suffix:

sudo pacman -S pure-git pure-docs-git

Of course, instead of pacman you can also use a graphical package manager such as pamac. It lets you browse the different repositories, search for package groups and individual packages, install packages, and remove them. Moreover, pamac can also be used to install packages from the AUR if you enable its AUR support.

PGP Checks and Direct Package Downloads

Binary packages can be found on the Download pages on the OBS website. E.g., to download the pure package from the Stable repository, go to the repository page, click on the pure package, and then on the Download package link. There you have two options:

  • Clicking on Grab binary packages directly reveals the direct download link for the package. You can then save the package to your hard disk and install it manually.
  • Clicking on Add repository and install manually tells you which steps you have to take to enable the repository in your pacman.conf file, and how to get and install the PGP key for the repository. This only has to be done once for each of the repositories, after which you can proceed to install packages through pacman as discussed above.

Package Groups

At the time of this writing, the Pure collection consists of some 60 packages, which includes the Pure interpreter, online documentation, add-on modules and utilities, as well as required dependencies which aren't available elsewhere. To make it easier to handle the amount of packages available, we offer various package groups which enable you to manage entire collections of Pure-related packages in a convenient fashion. At present the following package groups are provided:

  • pure-base: interpreter, standard library, documentation and emacs mode
  • pure-graphics: interfaces for graphics and GUI programming
  • pure-math: interfaces to various 3rd party mathematical software
  • pure-multimedia: interfaces to audio, MIDI, OSC, Faust, Pd
  • pure-util: basic support utilities and libraries
  • pure-web: interfaces for database and web programming
  • pure-complete: the whole shebang

These comprise the same package subsets as the corresponding meta packages in the AUR, but are to be used with the stable binary package repository. E.g., you can install an entire package group at once, using a command like the following:

sudo pacman -S pure-base

There's also a pure-complete package group which lets you install the full Pure system in one go:

sudo pacman -S pure-complete

You can remove an entire package group with a single command:

sudo pacman -R pure-multimedia

It is also possible to list all the packages contained in a specific group as follows:

pacman -Sg pure-math

The Rolling Pure Release

The Rolling repository provides a complete alternative set of packages built straight from the latest repository sources. This also includes all the add-on modules and utilities. The packages in the Rolling repository are organized in the same way as those in the Stable repository, but the package groups all have an additional -git suffix. So they can be installed as follows:

sudo pacman -S pure-complete-git

This will give you a kind of "rolling release" of the Pure system, since the packages are updated whenever important bugfixes or experimental features are committed to the source code repository.

If you want, you can build the packages of the rolling release yourself from git sources. However, the process is somewhat involved when you're doing it for the first time, since packages have to be built and installed in the right order to satisfy internal dependencies between the add-on modules. A collection of Arch PKGBUILDs to perform such a staged installation can be found at https://bitbucket.org/agraef/pure-pkgbuild. Please check the README file there for instructions.

Dependencies

All required dependencies should be readily available either in the official Arch repositories, in the stable repository, or in the AUR. If you run into any missing dependencies then please let us know so that we can fix them.

LLVM 3.5: This legacy version of LLVM is at present still required for Pure. It used to be available in the official Arch repositories, but got kicked out some time ago, so we now provide suitable packages both in the AUR and in the stable repository (look for the clang35, llvm35, and llvm35-libs packages). NOTE: If you install these from the AUR, please note that llvm35 is a split package, thus you need to use an AUR helper such as yay which supports that kind of thing, or download a snapshot and install manually using makepkg.

Clone this wiki locally