Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: File Locking using (older) Storable Module

by PodMaster (Abbot)
on Aug 05, 2002 at 06:56 UTC ( [id://187596]=note: print w/replies, xml ) Need Help??


in reply to File Locking using (older) Storable Module

This is the most current version that ActiveState's PPM installation will give me, though a much newer version is available on CPAN.
That is the precise reason I opened http://crazyinsomniac.perlmonk.org/perl/ppm/. It's my ppm repository, and if I can compile it, i'll put it up. Right now I have Storable-2.04. Just add my site as a repository, in ppm3
ppm>rep add http://crazyinsomniac.perlmonk.org/perl/ppm/
or in older versions of ppm
ppm>set rep http://crazyinsomniac.perlmonk.org/perl/ppm/
and install it. If you're having trouble doing so using ppm, I have instructions at my repository for doing it by hand (it's really just a perl program, just scroll down ;).

The version up there is for the 5.6x version of perl. If you got an older perl , just ask and i'll see if I can compile it for that version of perl and put it up, ooor, just go ahead and download perl 5.8.0 from my website, cause it has the latest version of Storable.

update: what demerphq? No, perl 5.6 is not binary compatible with perl 5.8.0. Since perl 5.8.0 comes with storable, i gotta say what?

Oh I get it. When I say download perl 5.8.0, I mean download perl, not a ppm of storable for perl 5.8.0. Since perl 5.8.0 available from my repository above, is built with Storable, I don't provide it as a separate ppm package, not until 2.5 anyway ;)

This is perl, v5.8.0 built for MSWin32-x86-multi-thread by a crazy insomniac

update: Here's how to set-up your own ppm repository.

All you need is a web-server, preferably apache, and a world readable directory, which lists all the files in it.

You need to know how to make a PPM package, and the ActivePerl docs say:

How do I make a PPM package?

If you want to make a PPM package for use on other machine you can do it like this:

Specify the AUTHOR and ABSTRACT parameters in the Makefile.PL. However you should only pass them to WriteMakefile if the version of the perl is greater than 5.005 - older perls do not have these parameters added and do not expect to see them. This is an example Makefile.PL:

use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    'NAME' => 'Term::Control',
    'VERSION_FROM' => 'Control.pm', # finds $VERSION
    ($] ge '5.005') ? (
        'AUTHOR' => 'Johnny Doel (johnny@doel.org)',
        'ABSTRACT' => 'Control the IO for terminals',
    ) : (),
);

Then you make the archive with the commands

perl Makefile.PL<br> nmake

The resulting files are placed in the blib directory that is created when you run nmake. These files should be packed into an archive like this:

tar cvf <i>package</i>.tar blib<br> gzip --best <i>package</i>.tar

You now have an archive called package.tar.gz. Then you generate the PPD file by:

nmake ppd

You have to edit the resulting PPD file and add the location of the package archive into <CODEBASE HREF="" />. The location is relative to the PPD file.

Here is a sample ppd file.
<SOFTPKG NAME="AxKit" VERSION="1,6,0,0"> <TITLE>AxKit</TITLE> <ABSTRACT></ABSTRACT> <AUTHOR></AUTHOR> <IMPLEMENTATION> <OS NAME="MSWin32" /> <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> <CODEBASE HREF="AxKit.tar.gz" /> </IMPLEMENTATION> </SOFTPKG>
Right now at my repository, all my PPD's and .tar.gz's are all in the same directory, but as I start building perl 5.8.0 compatible packages, i'll start mainting a directory structure like Randy Kobes.

**TIP: When making ppm packages, or perl modules which rely upon external libraries, like JavaScript.pm, which relies on the SpiderMonkey JavaScript library, include those *.dll's into the blib/arch/auto/Modulename library, where the other .dll's particular to that module reside. That way you don't have to mess with search paths and stuff. Example package ;)

+---blib
|   +---arch
|   |   \---auto
|   |       \---JavaScript
|   |               .exists
|   |               JavaScript.bs
|   |               JavaScript.dll
|   |               JavaScript.exp
|   |               JavaScript.lib
|   |               js32.dll
|   |
|   \---lib
|       |   .exists
|       |   JavaScript.pm
|       |   JavaScript.pod
|       |   test.js.pl
|       |
|       \---auto
|           \---JavaScript
|                   .exists
|                   autosplit.ix

 

____________________________________________________
** The Third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re: Re: File Locking using (older) Storable Module
by demerphq (Chancellor) on Aug 05, 2002 at 17:22 UTC
    just go ahead and download perl 5.8.0 from my website, cause it has the latest version of Storable.

    I though 5.8 wasnt binary compatible with 5.6?

    Yves / DeMerphq
    ---
    Writing a good benchmark isnt as easy as it might look.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-26 04:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found