Pantheon

From Gentoo Wiki
Jump to: navigation, search

Pantheon is a new lightweight, modular desktop environment primarily written in Vala and GTK. It was originally written for use with Elementary OS, but is in the process of being ported to Gentoo.

Prerequisites

Users should be aware elementary ebuild repository is undergoing rapid development the following instructions are subject to significant changes.

Pantheon currently resides in the elementary ebuild repository. There are three primary methods for installing repositories in Gentoo:

  1. The older layman method. app-portage/layman must be installed when going this route. Proceed to the layman article to install layman, then return and move on the to the next step.
  2. The new eselect repository method. app-eselect/eselect-repository must be installed when using this method. See also Eselect/Repository.
  3. The manual repos.conf method. A special elementary.conf file must be created in repos.conf, then the repository must be synced using one of the many methods available. Pay a visit to the repos.conf article for more information on how to use this method, then see the associated section below.

Layman

When layman is ready to go add the elementary repository:

root #layman -a elementary

eselect repostiory

eselect repository will create an automatic repos.conf entry. When ready, run:

root #eselect repository enable elementary
root #emerge --sync elementary

repos.conf

Create a file in the /etc/portage/repos.conf directory (create the repos.conf directory first if it does not exist) called elementary.conf. Fill the file's contents with the following code:

FILE /etc/portage/repos.conf/elementary.conf
[elementary]
location = /usr/local/overlay/elementary
sync-type = git
sync-uri = https://github.com/pimvullers/elementary.git
auto-sync = yes

Profile

Setting a GNOME desktop profile for the system will help prepare the base system for pantheon to be installed:

OpenRC

When using OpenRC, select:

root #eselect profile set default/linux/amd64/13.0/desktop/gnome

systemd

systemd users will need to GNOME profile with systemd on the end:

root #eselect profile set default/linux/amd64/13.0/desktop/gnome/systemd

Keywording

Those who have a separate (virtual) machine for testing Elementary CAN add the ~arch (unstable) keyword in order to allow the installation of the latest (and greatest) Elementary package atoms. For now, only the ~amd64 and ~x86 keywords are supported (although in the future and with more testing other architectures may be supported).

FILE /etc/portage/make.conf
ACCEPT_KEYWORDS="~amd64"

This is the 'quick and easy' method for installing Elementary.

If an unstable global keyword was added the following package.accept_keywords section can be skipped.

package.accept_keywords

For those who want try Elementary alongside other desktop environments, it is wise to provide Portage with only the explicit instructions Elementary needs for (dependent) packages that require keywording. Copy the following list in the package.accept_keywords file:

FILE /etc/portage/package.accept_keywords
pantheon-base/pantheon
mail-client/postler
pantheon-base/pantheon-shell
gnome-base/gnome-desktop
x11-themes/elementary-icon-theme
x11-themes/elementary-theme
x11-libs/granite
dev-libs/folks
pantheon-base/marlin
dev-util/euclide
media-sound/noise
app-office/dexter
net-libs/gnome-online-accounts
app-editors/scratch
pantheon-base/switchboard
x11-terms/pantheon-terminal
app-office/maya
dev-db/sqlheavy
pantheon-base/plank
net-libs/liboauth
x11-libs/bamf
dev-libs/libgweather
media-libs/clutter
dev-python/rdflib
dev-libs/libgdata
x11-libs/pango
dev-libs/glib
dev-libs/libpeas
gnome-base/gsettings-desktop-schemas
media-libs/cogl
x11-libs/varka
pantheon-base/cerbere
x11-libs/gtk+
x11-wm/mutter
x11-themes/elementary-wallpapers
dev-libs/libindicator
pantheon-base/slingshot
app-dicts/lingo
gnome-extra/zeitgeist
dev-libs/libzeitgeist
dev-libs/libpeas
x11-wm/gala
dev-libs/gobject-introspection
pantheon-base/wingpanel
x11-libs/gdk-pixbuf
dev-libs/gobject-introspection-common
dev-python/isodate
gnome-extra/evolution-data-server
x11-libs/vte
dev-libs/libindicate
app-office/ergo
dev-lang/vala
dev-libs/contractor
dev-libs/libdbusmenu
net-news/feedler
dev-libs/libunity
media-video/eidete
media-video/audience
pantheon-extra/dropoff
app-office/footnote
pantheon-base/pantheon-print
mail-client/geary
dev-libs/dee
media-video/snap
media-libs/clutter-gst
media-video/cheese
x11-libs/mx
dev-util/fix-la-relink-command
www-client/midori

package.use

Ensure that X USE flag is included in the system's global USE flags.

OpenRC

Other necessary USE flags to install pantheon for the OpenRC init system are as follows:

FILE /etc/portage/package.use
sys-fs/udev gudev
sys-auth/consolekit policykit
sys-auth/pambase consolekit
dev-libs/libxml2 python
x11-libs/gdk-pixbuf jpeg

Installation

Emerge

The pantheon meta-package pulls in the necessary packages. This can be done by emerging just the pantheon-base/pantheon-shell meta package and then select the desired elementary applications:

root #emerge --ask pantheon-base/pantheon-shell

Then, for example, emerge Audience and Pantheon terminal:

root #emerge --ask media-video/audience x11-terms/pantheon-terminal

Removal

Unmerge

root #emerge --ask --depclean --verbose pantheon-base/pantheon-shell

Troubleshooting

Reporting issues

As mentioned in the beginning, the elementary repository is undergoing rapid development, just like the upstream elementary OS project. This means that things might break, or do not work properly yet. If you discover any issues, or if you want to contribute, just create a new issue on the elementary ebuild repository Github project or contact the maintainer.

External resources