Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • What's the overall steps needs to make a customized version of Strawberry? Just subclass it's class, and add dists to the list?

    I'd like to have a go at replacing my CatInABox zipped dist folder with a real Perl::Dist that I can rebuild and keep updated that contains a complete running Catalyst install with all the trimmings.
    • I'm working on documentation for Perl::Dist as we speak, and it will include a cookbook example of making a sub-class (yes, a subclass is all you need).

      But completely off the top of my head (and probably a bit buggy) it would look something like this.


      package Perl::Dist::CatInABox;

      use strict;
      use base 'Perl::Dist::Strawberry';

      sub app_name { 'Catalyst In a Box' }
      sub app_ver_name { 'Catalyst In a Box December 2007' }
      sub app_publisher { 'Catalyst' }
      sub app_publisher_url { 'http://catalyst.perl.org/' }
      sub app_id { 'catinabox' }
      sub output_base_filename { 'catinabox-5.10.0-200712' }

      # Apply some default paths
      sub new {
              shift->SUPER::new(
                      image_dir => 'C:\\catinabox',
                      temp_dir => 'C:\\tmp\\cat',
                      @_,
              );
      }

      # Leave the basic install process the same, but add extra modules
      sub install_perl_modules {
            my $self = shift;
            $self->SUPER::install_perl_modules(@_);

            # Lets just add Catalyst::Devel for now
            $self->install_module(
                    name => 'Catalyst::Devel',
            );

            return 1;
      }

      # Add a link to the Cat website
      sub install_win32_extras {
              my $self = shift;
              $self->SUPER::install_win32_extras(@_);

              $self->install_website(
                      name => 'Catalyst Website',
                      url => 'http://catalyst.perl.org/',
              );

              return 1;
      }

      1;


      On top of the new release I'm doing shortly, that should give you a basic Cat In A Box installer.