Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^5: [JOB] The Perl Foundation seeks Windows Developer

by syphilis (Archbishop)
on Apr 03, 2006 at 03:28 UTC ( [id://540843]=note: print w/replies, xml ) Need Help??


in reply to Re^4: [JOB] The Perl Foundation seeks Windows Developer
in thread [JOB] The Perl Foundation seeks Windows Developer

demerphq has recently patched ExtUtils::Install to use the Win32 API to do this on Windows (and the old files are removed at the next reboot). That's great news for VanillaPerl, but doesn't help ActiveState as, again, they're stuck with ExtUtils::Install from 5.8.0.

Not so. The latest build of ActiveState perl has EU::MM-6.30, which includes EU::I-1.33 - all of which is stock-standard perl 5.8.8.

Cheers,
Rob

Replies are listed 'Best First'.
Re^6: [JOB] The Perl Foundation seeks Windows Developer
by xdg (Monsignor) on Apr 03, 2006 at 04:50 UTC

    The latest ActiveState build is standard 5.8.8. But the ActiveState automated PPM build farm is the first 5.8 release by ActiveState.

    That means that for any module to be automatically built into a PPM, it has to be backwards compatible with Perl 5.8.0 core modules, even if the latest ActiveState release includes updates.

    Here's an example from the PPM Build Status for my own Class::InsideOut:

    # Tried to use 'Class::InsideOut'. # Error: "refaddr" is not exported by the Scalar::Util module # Can't continue after import errors at D:\cpanrun\depot\main\contrib- +patched\perl\CPAN\src\Class-InsideOut\blib\lib/Class/InsideOut.pm lin +e 16 # BEGIN failed--compilation aborted at D:\cpanrun\depot\main\contrib-p +atched\perl\CPAN\src\Class-InsideOut\blib\lib/Class/Idubious

    Now let's climb in the way-back machine to Perl 5.8.0 in July 2002 and look at the Scalar::Util source:

    # Scalar::Util.pm # # Copyright (c) 1997-2001 Graham Barr <gbarr@pobox.com>. All rights re +served. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. package Scalar::Util; require Exporter; require List::Util; # List::Util loads the XS our @ISA = qw(Exporter); our @EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted read +only openhandle); our $VERSION = $List::Util::VERSION;

    Notice how refaddr is missing? For reference, in Perl 5.8.0, $List::Util::VERSION happens to be 1.07.

    By Perl 5.8.1 in September 2003, Scalar::Util was up to 1.13 and refaddr was available in core Perl.

    But -- to my point -- Class::InsideOut can't be built automatically into a PPM by ActiveState because their build farm is designed to be backwards compatible nearly 4 years all the way to 5.8.0.

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      But -- to my point -- Class::InsideOut can't be built automatically into a PPM by ActiveState because their build farm is designed to be backwards compatible nearly 4 years all the way to 5.8.0.

      Oh, theres a simple and easy solution to that. Dont use Scalar::Util to get refaddr(). Get it from Data::Dump::Streamer instead. At the same time you can add the DDS serilization support you mentioned a while back. And since DDS builds just fine under the PPM infrastructure everything will work out nicely.

      And if you want a less painful to use reftype() function you can get it from DDS too. :-)

      ---
      $world=~s/war/peace/g

        Heh! Well, that goes to show that TIMTOWTDI still applies!

        In this specific example, I wouldn't use DDS in practice because I'm trying to limit dependencies to 5.8 core modules only.

        Once Class::InsideOut reaches its 1.0 release, I was going to requiest that a PPM be generated in the University of Winnipeg PPM repository anyway.

        -xdg

        Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://540843]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-03-29 06:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found