Installing Jokosher on Gentoo

This page details the process of installing Jokosher version 0.2 on Gentoo Linux using the Portage package management system. A basic knowledge of Gentoo's Portage, its commands and common terminology are useful but not a necessity.

If you're eager to get started you may skip the Overview and proceed straight to Step One to begin.

Note: Those of you who like to live life on the edge by installing the latest version of Jokosher from Subversion should head on over to JokosherSvnOnGentoo.

Overview

The path to Jokosher on Gentoo can be thought of as three simple steps:

Step One

Packages for Jokosher and two of its dependencies, gnonlin and gst-plugins-good, are currently only available in outdated versions in the official Portage tree. For this reason they must be obtained manually and placed into an overlay. All three ebuilds, for Jokosher, gnonlin and gst-plugins-good, can be found on Gentoo's bugzilla. From the Jokosher bugzilla entry, you will also need the wrapper script named media-sound/jokosher/files/jokosher.

Once you have downloaded the latest .ebuild files, create the directory structure for the overlay using the following commands:

Note: Unless otherwise noted all commands must be executed as the root user.

mkdir -p /usr/local/portage/media-sound/jokosher/files
mkdir -p /usr/local/portage/media-libs/gnonlin/files
mkdir -p /usr/local/portage/media-libs/gst-plugins-good/files

Note: You can substitute /usr/local/portage with a path of your choice but everything below that level must adhere to the same layout as /usr/portage/

Now copy the ebuilds and the Jokosher wrapper script you downloaded before into their appropriate directory:

cp /path/to/jokosher-0.2.ebuild /usr/local/portage/media-sound/jokosher/
cp /path/to/jokosher /usr/local/portage/media-sound/jokosher/files/
cp /path/to/gnonlin-0.10.6.ebuild /usr/local/portage/media-libs/gnonlin/
cp /path/to/gst-plugins-good-0.10.5.ebuild /usr/local/portage/media-libs/gst-plugins-good/

Next we must digest the ebuild to generate the checksum data required by Portage. This also has the effect of downloading the installation files. To achieve this we use the ebuild command (not to be confused with the .ebuild} installation scripts) like so:

ebuild /usr/local/portage/media-sound/jokosher/jokosher-0.2.ebuild digest
ebuild /usr/local/portage/media-libs/gnonlin/gnonlin-0.10.6.ebuild digest
ebuild /usr/local/portage/media-libs/gnonlin/gst-plugins-good-0.10.5.ebuild digest

The overlay is now setup. All that remains is to inform Portage of its existence. To do this open up your /etc/make.conf file in your favorite editor and add or append to the PORTDIR_OVERLAY variable the path to your overlay.

e.g.

PORTDIR_OVERLAY="/usr/local/portage"

To verify that you have successfully completed all instructions thus far try issuing the following command:

ACCEPT_KEYWORDS="~x86" emerge -pv --nodeps jokosher gnonlin gst-plugins-good

Note: If you receive an error indicting that one of the packages is masked, ensure that you have specified the ~x86 architectural keyword irrelevant of your actual systems architecture. This issue is addressed in Step Two.

If this command runs without error then you are ready to proceed to Step Two.

Step Two

If you're running the ~x86 or ~amd64 unstable branches of Gentoo then you may safely skip this section and continue with Step Three.

Note: If you are unsure which branch of the Portage tree you are using, then check the output of:

emerge --info | grep ACCEPT_KEYWORDS

Otherwise you will need to add a number of packages to your /etc/portage/package.keywords file. This will unmask some packages marked as requiring more testing that are however essential to Jokosher's operation.

For your convenience we have provided a list of masked packages which you can copy and paste straight into your package.keywords file:

# Jokosher 0.2

dev-libs/liboil
dev-python/dbus-python
dev-python/gst-python
dev-python/pycairo
dev-python/pyxml
media-libs/gnonlin
media-libs/gst-plugins-base
media-libs/gst-plugins-good
media-plugins/gst-plugins-alsa
media-plugins/gst-plugins-gnomevfs
media-plugins/gst-plugins-lame
media-sound/jokosher

Note: If you're running on an architecture not tested by one of the ebuilds, then you must append ~* to each entry in your package.keywords file like so: media-sound/jokosher ~*. If after completing this guide everything works as expected, please report your success on bugs.gentoo.org.

Now to check everything works, tell portage to pretend to install Jokosher:

emerge -pv jokosher

You should be presented with a list of packages that will be installed. If you receive an error about a masked package, then add an entry in the form pkg-category/pkgname to the package.keywords file.

If you receive a similar error after running emerge -pv jokosher again, repeat the process of adding the offending package to the package.keywords file until all dependencies have been satisfied.

Step Three

All being well you should now be ready to install Jokosher using Portage's emerge command. Run

emerge -av jokosher

Note: If you notice a number of unusual and unwanted dependencies, such as xmms and gtk+ version one, you probably have the xmms USE flag enabled. The FLAC GStreamer plugin (media-plugins/gst-plugins-flac) is the culprit. Simply add gst-plugins-flac -xmms to /etc/portage/package.use to prevent the package from building xmms support.

The installation can take a while but should ultimately complete successfully.

Congratulations! You have now installed Jokosher on Gentoo. You can choose to run Jokosher via its entry in your desktop environment's menu or by executing jokosher from a terminal.


Troubleshooting

Common Issues

Please make sure you read the JokosherFAQ page for details of known problems and bugs.

CVS GStreamer

The Jokosher developers currently recommend installing GStreamer from CVS over the 0.10.9 release, the most current version in Portage. Although Jokosher should run fine without CVS GStreamer you may experience known problems as a result. If you wish to use CVS GStreamer in parellel to versions of GStreamer installed from Portage, then you should read the InstallingCvsGstreamer page.

Before proceeding you may need to install the CVS command:

emerge -av cvs