Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Installing ppd package from a local repository

by zejames (Hermit)
on Nov 03, 2004 at 15:18 UTC ( #404919=perlmeditation: print w/replies, xml ) Need Help??

Fellow monks,

Installing a ppd perl module from local directory should be quite straightforward. But it is not. So as I've spent too much time to achieve it today, here is what I did.

One good reason to need this is when there is a proxy between Internet and you, that requires NTLM authentication.
  1. Download ActivePerl (of course, but who knows ;)
  2. Choose a local directory that will store browser-downloaded packages (for exemple, I'll use d:\documents and settings\zejames\my documents\ppd
  3. Add this repository to ppm and make it the main one:
    D:\perl\bin>ppm PPM - Programmer's Package Manager version 3.1. Copyright (c) 2001 ActiveState Corp. All Rights Reserved. ActiveState is a devision of Sophos. Entering interactive shell. Using Term::ReadLine::Stub as readline lib +rary. Type 'help' to get started.
    ppm> rep add Local "d:\documents and settings\zejames\my documents\ppd"
    [1] ActiveState PPM2 Repository [2] ActiveState Package Repository [3] Local
    ppm> rep up Local
    Repositories: [1] ActiveState PPM2 Repository [2] Local [3] ActiveState Package Repository
    ppm> rep up Local
    Repositories: [1] Local [2] ActiveState PPM2 Repository [3] ActiveState Package Repository
  4. Download the package on the Internet and the .ppd file, and put them into your repository
  5. Edit the .ppd file :
    • remove the ARCHITECTURE line (<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />)
    • Change the CODEBASE information :
      [...] <CODEBASE HREF="file://D:/Documents and Setting/zejames/my documents/p +pd/Math-Pari.tar.gz" /> [...]
  6. Finally, launch ppm to install it :
    D:\Perl\bin>ppm install Math-Pari ==================== Install 'Math-Pari' version 2.010500 in ActivePerl 5.8.4.810. ==================== Installing D:\Perl\site\lib\auto\Math\Pari\Pari.dll Installing D:\Perl\site\lib\auto\Math\Pari\Pari.lib Installing D:\Perl\site\lib\auto\Math\Pari\Pari.exp Installing D:\Perl\site\lib\auto\Math\Pari\Pari.bs Installing D:\Perl\html\site\lib\Math\Pari.html Installing D:\Perl\html\site\lib\Math\libPARI.dumb.html Installing D:\Perl\html\site\lib\Math\libPARI.html Installing D:\Perl\html\site\lib\Math\PariInit.html Files found in blib\arch: installing files in blib\lib into architectu +re depende nt library tree Installing D:\Perl\site\lib\Math\libPARI.dumb.pod Installing D:\Perl\site\lib\Math\PariInit.pm Installing D:\Perl\site\lib\Math\Pari.pm Installing D:\Perl\site\lib\Math\libPARI.pod Successfully installed Math-Pari version 2.010500 in ActivePerl 5.8.4. +810.
  7. That should be good :
    D:\Perl\bin>perl -MMath::Pari -e ''

--
zejames

Replies are listed 'Best First'.
Re: Installing ppd package from a local repository
by ihb (Deacon) on Nov 03, 2004 at 15:48 UTC

    Download, unzip, and type ppm install Math-Pari.ppd. That works for me. Perhaps there will be problems if it also wants to install dependencies, I haven't tried that.

    ihb

    See perltoc if you don't know which perldoc to read!
    Read argumentation in its context!

Re: Installing ppd package from a local repository
by bart (Canon) on Nov 03, 2004 at 15:26 UTC
    If you set the environment variable HTTP_PROXY to the URL of your proxy server, before you start PPM, it should work through the proxy.

    You see, it depends on LWP, and it calls env_proxy() before attempting to connect to the webserver.

      To my knowledge, not for NTLM authentication.

      --
      zejames
Re: Installing ppd package from a local repository
by Jenda (Abbot) on Nov 05, 2004 at 16:49 UTC

    Ad 5.: You should NOT touch the <ARCHITECTURE ...>. If the architecture specified in the .ppd doesn't match your Perl, the module was compiled for a different Perl and most likely will not work correctly. You may only do this safely if the module is pure Perl, as soon as the .tar.gz contains any .DLLs you are going to run into problems. Also if you put the .ppd and the .tar.gz into the same folder, you may use "relative" path to the .tar.gz in the .ppd. Which means that quite often you actually do not need to touch the .ppd at all.

    P.S.: "Documents and Settings"? Bleargh. As if "Program", space, "Files" was not stupid enough.

    Jenda
    We'd like to help you learn to help yourself
    Look around you, all you see are sympathetic eyes
    Stroll around the grounds until you feel at home
       -- P. Simon in Mrs. Robinson

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://404919]
Approved by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2020-10-29 02:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (266 votes). Check out past polls.

    Notices?