[Catalyst-commits] r8776 - / trunk/examples/CatalystAdvent/root/2008/pen

zarquon at dev.catalyst.perl.org zarquon at dev.catalyst.perl.org
Sun Dec 7 08:44:10 GMT 2008


Author: zarquon
Date: 2008-12-07 08:44:10 +0000 (Sun, 07 Dec 2008)
New Revision: 8776

Added:
   trunk/examples/CatalystAdvent/root/2008/pen/7.pod
Modified:
   /
Log:
 r14494 at fenchurch:  kd | 2008-12-07 19:43:52 +1100
 day 7 in the pen



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:14490
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909
   + 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:14494
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909

Added: trunk/examples/CatalystAdvent/root/2008/pen/7.pod
===================================================================
--- trunk/examples/CatalystAdvent/root/2008/pen/7.pod	                        (rev 0)
+++ trunk/examples/CatalystAdvent/root/2008/pen/7.pod	2008-12-07 08:44:10 UTC (rev 8776)
@@ -0,0 +1,101 @@
+=head1 Day 7.  Cat In A Box on a Stick
+
+Today's recipe is a quick one to describe how to get yourself a
+portable Perl for windows that runs all the catalyst goodies that you
+want for your application.
+
+While there is a L<Perl::Dist::CatInABox> I can't recommend it just
+now, as some of the modules that Catalyst don't install cleanly under
+Windows.  On the other hand these failures are generally not going to
+stop a typical Catalyst installation from working, although watch out
+for Windows' eccentricities like signal handling in your app.
+
+=head2 Step one, find a Windows machine.
+
+Sime time really soon, this is going to be L<a lot easier than it is
+now|http://use.perl.org/~Alias/journal/38036>.  For the mean time,
+I've been doing all this work on a mac with a copy of Windows XP
+working under Virtual Box.  You may not need Administrator access for
+these steps to work, but you do need to do the initial installation of
+CPAN modules in a path without spaces in it.
+
+=head2 Step two.  Grab portable Strawberry Perl
+
+L<Here|http://strawberryperl.com/> is the Strawberry perl website.  Go
+there and grab the latest B<portable> strawberry perl.  Unzip it into
+c:\strawberry, or any other path without spaces.
+
+=head2 Step three, Introduce yourself to the joy of MSDOS batch file programming
+
+This little script should appear in the portable perl distribution in
+due course, but for now, this will run a Windows shell with all the
+environment variables set for perl to work.  Save it as startperl.bat
+in c:\strawberry\.
+
+ set bindir=%~dp0
+ set perlpath="%bindir%\perl\bin"
+ set buildpath="%bindir%\c\bin"
+ set PATH=%PATH%;%perlpath%;%buildpath%
+ start cmd
+
+=head2 Step 4, set up CPAN.
+
+Actaully there's not much to this.  Portable Strawberry Perl already
+has a sensible CPAN mirror set up, but given that Catalyst requires
+quite a lot of dependencies, you might want to set up a
+L<Minicpan|CPAN::Mini>.
+
+=head2 Step 5, Introduce yourself to the joy of windows command line editing.
+
+Some of the tests for Catalyst's dependencies don't work under windows
+at the moment.  From memory, the worst offender is
+L<HTTP::Server::Simple> which hangs, due to Windows doing signal
+handling different to everybody else.  Until this module's signal
+handling is redone to use L<POE>'s signal handling under windows, the
+only sane thing to do is to skip the offending test on Windows for
+this.  There's a
+L<patch|http://rt.cpan.org/Ticket/Display.html?id=38011#txn-536129>
+waiting to be applied in the RT Queue.
+
+Anyway, while you could C< notest install HTTP::Server::Simple > and
+then go into your application's root directory and then the C< perl
+Makefile.PL \n make installdeps process > (remember windows shell
+doesn't have C< && >), I've found this a little unpredictable
+(probably because of my unfamiliarity with Windows), so here's a two
+liner that skips testing for everything:
+
+ perl Makefile.PL
+ perl −MCPAN −MYAML::Syck −e "CPAN::Shell−>notest(install => $_) for grep { $_ ne \"perl\" } keys %{ LoadFile(\"META.yml\")−>{requires} }"
+
+Note the use of double quote characters and escapes in the above ,
+because unlike in unix-land the windows shell doesn't understand
+single quote characters.
+
+=head2 Step 6, run your server
+
+My preference is to put my application's directory in the same
+directory that I placed the C< startperl.bat > script (see above).
+
+Now we can run the following script to start the test server (the
+first lines are just the same as before):
+
+ set bindir=%~dp0
+ set perlpath="%bindir%\perl\bin"
+ set buildpath="%bindir%\c\bin"
+ set PATH=%PATH%;%perlpath%;%buildpath%
+
+ echo Starting text fossicking server please be patient
+ perl "%bindir%\MyApp\myapp_server.pl
+
+And you're good to go.  Welcome to Catalyst developement on Windows
+without (too much) pain.
+
+=head1 ACKNOWLEDGEMENTS
+
+Thanks to Adam Kennedy and the rest of the team behind L<Perl::Dist>
+who have made this possible.  And thanks to Microsoft for realising
+that they have to make an effort not to be second class citizens.
+
+=head1 AUTHOR
+
+Kieren Diment <zarquon at cpan.org>
\ No newline at end of file




More information about the Catalyst-commits mailing list