Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Dear monks,

Once more I seek your wisdom. Some months ago I wrote a small extension for Math::Pari, and I've been using this extension a fair bit in my work. This extension just makes available some functions and variables in the PARI library that were not already made available by Math::Pari. To achieve this, I had to configure Inline::C like this:

use Inline C => Config => MYEXTLIB => '/path/to/auto/Math/Pari/Pari.so', INC => '-I/path/to/include/pari', TYPEMAPS => '/path/to/Math-Pari-build-dir/typemap';
Butt-ugly indeed, yet serviceable.

Now some collaborators have asked to borrow some of my code, which relies on the module mentioned above, so I'm trying to figure the most reasonable way to package this software. The INC and TYPEMAPS entries of the Inline::C configuration are the problem, because even if the user has installed Math::Pari there's no reason to expect that the pari include files and the Math::Pari typemap file are available.

Of course, I can always punt and let them worry about this, but I expect that in the near future I will receive more requests for this code, so the easier I make this installation now the fewer headaches I'll have in the future.

I'm also curious, in general, about how one goes about packaging a module that has non-standard dependencies like these.

Do you know of any CPAN module that has had to solve this sort of packaging problem, and that could serve as a model for me to learn from?

I look forward to reading your thoughts on this.

the lowliest monk


In reply to Packaging conundrum by tlm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

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

    No recent polls found