Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re^3: Disappointed with latest Strawberry Perl

by randyk (Parson)
on Dec 30, 2007 at 00:16 UTC ( #659553=note: print w/replies, xml ) Need Help??

in reply to Re^2: Disappointed with latest Strawberry Perl
in thread Disappointed with latest Strawberry Perl

I added the CPAN version of PPM to Strawberry Perl - this required XML-Parser and SOAP-Lite, both of which installed successfully. For XML-Parser, I used a version of the expat library compiled with VC++ 6. A small patch:

--- 2007-12-29 18:00:03.234375000 -0600 +++ 2007-12-29 17:59:58.218750000 -0600 @@ -113,8 +113,10 @@ # add -5.d to archname for Perl >= 5.8 my $varchname = $Config{archname}; -if (length($^V) && ord(substr($^V,1)) >= 8) { - $varchname .= sprintf("-%d.%d", ord($^V), ord(substr($^V,1))); +if ($] >= 5.008) { + my $vstring = sprintf "%vd", $^V; + $vstring =~ s/\.\d+$//; + $varchname .= "-$vstring"; } #
was needed for to get it to correctly append "-5.10" to the architecture string MSWin32-x86-multi-thread. I then installed via the ppm client the GD ppm package from the UWinnipeg Perl 5.10 repository, which worked fine.

Update: If anyone wants to try this out, I've placed an archive of the files needed for installing ppm up at; to install this, save it to the C:\strawberry directory and unpack it there. You may have to edit C:\strawberry\perl\site\lib\ppm.xml to change at least the value of BUILDDIR, indicating the temporary directory which ppm uses to build things. There's a command-line utility, ppm, supplied; type help within the ppm shell to get a list of available options.

Replies are listed 'Best First'.
Re^4: Disappointed with latest Strawberry Perl
by syphilis (Chancellor) on Dec 30, 2007 at 08:00 UTC
    Thanks for that randyk. There's also a patch at PPM can't handle zip files that enables that CPAN version of PPM to handle binaries that have been packed in the zip format as well as in the tar.gz format. (The trouchelle rep uses the zip format.)

    That patch does the trick for me, but it's probably not well tested.

Re^4: Disappointed with latest Strawberry Perl
by Wyrdweaver (Beadle) on Mar 01, 2009 at 16:24 UTC
    For anyone using Module::Build (v0.30) to build PPM's for distribution, here's a simple fix (no patching involved) that you can put into your custom build code (add this to your custom builder code in your Build.PL file):
    ##BUGBYPASS: [for Module::Build v0.3 and perl v5.10+ $^V version strin +g change] repairs incorrect version interpretation for perl v5.10+ (s +till works for 5.8 and earlier, as well) sub my_varchname { # Copied from my ($self, $config) = @_; my $varchname = $config->{archname}; # Append "-5.8" to architecture name for Perl 5.8 and later #if (defined($^V) && ord(substr($^V,1)) >= 8) { #$varchname .= sprintf("-%d.%d", ord($^V), ord(substr($^V,1))); #} ## BUGFIX: send to Module::Build::PPMMaker and PPM if (defined($^V)) { my @v = split(/\./, sprintf(qq{%vd},$^V)); if ($v[1] >= 8) { $varchname .= '-'.$v[0].'.'.$v[1]; } } return $varchname; }
    It bypasses the BUG until it's fixed in Module::Build.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://659553]
[Corion]: A good morning!
[Discipulus]: good morning Corion!
[Corion]: I spent parts of yesterday digging into Filter::Simple to make it not change the line numbers of unfiltered code, but I think I need regex help (which will come in a SoPW I guess). I tried @lines = /((?:"...."|[^" \n]+)\n)/gs, but that matched on...
[Corion]: ... foo "\0\0\0\n" bar\n by matching the first \n instead of matching the four-bytes-in- double-quotes part
[Corion]: ... and I still don't understand why ;)

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2017-01-23 08:00 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (191 votes). Check out past polls.