A few notes I collected after searching online for information about installing Catalyst, the MVC Web framework for Perl. This approach uses pre-built Debian packages which install a lot quicker than compiling things yourself using CPAN — plus, this way you don’t have to tinker with the modules that somehow fail tests, which inevitably happens with such a large dependency base.
First, set up the unstable repository and pin it so that most packages don’t get installed from unstable — just the Perl ones.
/etc/apt/sources.list:
# the main Debian packages.
deb http://mirror.cc.columbia.edu/pub/linux/debian/debian/ lenny main contrib
# Unstable
deb http://http.us.debian.org/debian unstable main non-free contrib
/etc/apt/preferences:
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=lenny
Pin-Priority: 700
Package: *
Pin: release a=unstable
Pin-Priority: 600
Next, install a sampling of useful modules from Task::Kensho:
aptitude -t unstable install liblocal-lib-perl libtest-simple-perl \
libtest-most-perl libtest-exception-perl libtest-pod-perl \
libtest-pod-coverage-perl libtest-memory-cycle-perl \
libdevel-cover-perl libmoose-perl libpoe-perl \
libmodule-install-perl libperl-critic-perl libcarp-always-perl \
libdatetime-perl
Install modules recommended by Catalyst docs:
aptitude -t unstable install sqlite3 libdbd-sqlite3-perl \
libcatalyst-perl \
libcatalyst-modules-perl libdbix-class-timestamp-perl \
libdatetime-format-sqlite-perl libconfig-general-perl \
libhtml-formfu-model-dbic-perl libterm-readline-perl-perl \
libdbix-class-encodedcolumn-perl libperl6-junction-perl \
libtest-pod-perl