Catalyst Framework
From Gentoo Linux Wiki
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
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:
This will download the latest ebuilds from the Subversion overlay repository. When you want to check for updated, do:
[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.
Older versions of layman stored the overlay in a different location:
[edit] Installing Catalyst
Perl modules in Portage update quite often, so you need to ensure you're using the latest versions available.
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
- Catalyst Framework discussion on Gentoo Forums - this is also the place where to ask questions
- The home of the Catalyst project
- Catalyst wiki