How to use already compiled dependencies instead of compiling from source ?

Posted by rappazf on 2017-03-17 00:04
Forums: PPM | OS: All / Any

I have made some modules on cpan that depend on Gtk2 (or Wx) packages. Compiling these packages from scratch fails most of the time and so the whole build of my modules fails too.

For example
https://code.activestate.com/ppm/Gtk2-Ex-DbLinker/#0.109__MSWin32-x64__5.24

I know that Gtk2 for windows exsist as ppm modules that can be installed without compiling:

ppm install http://www.sisyphusion.tk/ppm/Cairo.ppd
ppm install http://www.sisyphusion.tk/ppm/Glib.ppd
ppm install http://www.sisyphusion.tk/ppm/Pango.pp
ppm install http://www.sisyphusion.tk/ppm/Gtk2.ppd

Is there a way to include this information in the dependencies in the pdd file of my modules ? Can I suggest to PPM "try these install before trying to compile the Gtk2 suite" ?

Thanks
François

grahams
ActiveState Staff
Fri, 2017-03-17 08:40

PPM will check all the compatible repositories it knows about before it cuts over to CPAN.

If it's cutting over to CPAN instead of pulling those modules, check the following:
- The module does not properly declare the missed modules as dependencies. Not much you can do about that.
- None of the binary versions of those modules are compatible with your version of Perl. Confirm with the repository index:
http://www.sisyphusion.tk/ppmindex.html
- Your PPM client doesn't know about the repository where those binaries are found.
http://docs.activestate.com/activeperl/5.24/faq/ActivePerl-faq2.html#ppm...

rappazf | Tue, 2017-03-21 02:56

Thanks for the comment.
Taken from that blog at http://www.activestate.com/blog/2010/10/how-install-cpan-modules-activeperl : "ActiveState downloads all new packages from CPAN once a day and tries to build them for each supported platform. The generated binaries will be added to the PPM repositories if:
All required prerequisite modules are available.
The build is successful. ..."
My question was "can I make this ActiveState build for windows successfull with using compile Gtk2 ppm modules instead of downloading the cpan modules."

My PPM client is not involved here. Ist it that the sisyphusion repo is not know from ActiveState ?

grahams
ActiveState Staff
Tue, 2017-03-21 08:08

"My PPM client is not involved here"
You are not correct. You need PPM to be involved for what you want to do.
http://docs.activestate.com/activeperl/5.24/faq/ActivePerl-faq2.html

It sounds like you have misread a section of the documentation that describes our policy for how we manage the Sourcecode content we download from CPAN and precompile on our PPM servers. That section does not apply to what your local copy of ActivePerl will do. When you start PPM, the local client contacts our PPM server to see what downloads are available. It will not do any compilation normally.

PPM can contact any number of non-ActiveState PPM servers providing repositories. It must be configured with the URL for the repository. If the URL is not added, the repository is not known. The URL for Sisyphusion is not a default entry.