Catalyst Framework

From Gentoo Linux Wiki

Jump to: navigation, search

The Catalyst Framework is yet another "we are the best" web framework. Please don't confuse it with Gentoo's Catalyst, which is used to build stages and Live CDs.

Contents

[edit] Pre-requisites

A major dependency of Catalyst is Perl. Catalyst developers recommend at least version 5.8.1: they say 5.8.0 is enough, but 5.8.1 contains several bugfixes. So whatever, just sync your tree and get the latest version (stable is okay), especially if you plan to work with UTF-8 data.

Catalyst and its related modules depend on several ebuilds which are already in Portage. Some of them are masked. Depending on your platform, you might need to add some packages lines to your /etc/portage/package.keywords.

[edit] Installation

[edit] Getting the perl-experimental overlay

Note: If you're using paludis, please use playman instead.

Catalyst Framework is now part of the perl-experimental overlay, which is available via layman. Make sure you have layman installed and properly configured, then issue the following commands:

# layman -f
# layman -a perl-experimental

This will download the latest ebuilds from the Subversion overlay repository. When you want to check for updated, do:

# layman -s perl-experimental
Note: If you switch from, for example, gensync to layman for easier maintenance of the Catalyst framework, make sure to clean the PORTAGE_OVERLAY variable in /etc/make.conf.

[edit] Choosing USE flags

Some USE flags for your /etc/make.conf are supported:

  • apache2 or apache - indicates you're using Apache web server, so installs some related modules.
  • fastcgi - indicates you're using mod_fastcgi, so necessary modules will be pulled in.
  • modperl - enable this if you plan to use mod_perl for Catalyst applications.
  • par - if you plan to compile your applications into PAR file, add this flag.
  • sqlite - for SQLite users.
  • mysql - for MySQL folks.

[edit] Unmasking

The perl-experimental overlay is keyword masked for x86 and amd64 (if not, fix this section accordingly), while it doesn't feature the keywords at all for the other archs at present time.

# ls /usr/local/portage/layman/perl-experimental/dev-perl/ --color=never | awk '{ print "dev-perl/" $1 " ~amd64"}' >> /etc/portage/package.keywords

Older versions of layman stored the overlay in a different location:

# ls /usr/portage/local/layman/perl-experimental/dev-perl/ --color=never | awk '{ print "dev-perl/" $1 " ~amd64"}' >> /etc/portage/package.keywords

[edit] Installing Catalyst

Perl modules in Portage update quite often, so you need to ensure you're using the latest versions available.

# emerge -av Task-Catalyst

This will pull in everything Task::Catalyst depends on, which is what is needed for most Catalyst developers.

There are a lot of other ebuilds in the overlay, for several Catalyst, DBIx::Class and TT extensions, plus many more.

[edit] Additional modules

Besides the ones pulled in by the catalystframework meta ebuild, many other modules are available. They're not installed with the meta ebuilds as fewer people need them. Browse the contents of the repository to see which are available, and drop me (see bottom of the HOWTO for contact) a line if you wish others to be added.

To install, just emerge ebuildname.

[edit] External links

Personal tools