On Oct 10, 2010, at 10:28 PM, Florian Ragwitz wrote:
Show quoted text> "Father Chrysostomos via RT" <bug-Devel-Declare@rt.cpan.org> writes:
>
>> Both B::Hooks::Parser and Devel::Declare have installation problems on
>> a brand new perl 5.10.1 installation (or any earlier version), because
>> the CPAN.pm included does not properly support configure_requires. It
>> requires YAML to be installed first.
>>
>> I wrote Module::ConfigureRequires to work around this problem. Could
>> you consider using it for those two modules?
>
> I'm not particularly keen on having to load all configure requires
> conditionally, and handle their absence specially, especially if a
> working tool-chain is just a 'cpan -i CPAN' away.
It’s actually more like ‘cpan -i ANDK/CPAN-1.94_56.tar.gz’.
Show quoted text> However I'm willing to
> accept patches if you think it'll actually help anyone.
I do. I’ll try to prepare a few, if I have time.
Show quoted text> Also note that configure_requires is used in at least one of
> Devel-Declare's dependencies, B-Hooks-OP-Check, as well, so changes to
> that distribution will be needed as well for this to actually work.
I was actually thinking of using B::Hooks::OP::Check for Classic::Perl, but I decided against it, as I want it to be easy for people to put ‘use Classic::Perl;’ at the top of their scripts *before* upgrading perl, to make the transition easier (Classic::Perl’s raison d’être).
Show quoted text> I also have a couple of dozen other distributions using
> configure_requires. Some of them, I believe, are using their
> configure_requires to determine what their actual dependencies
> are. Module::ConfigureRequires can't handle that, can it?
No. That’s a hard one to solve. In cases like that, I simply bundle up the dependencies.
Show quoted text> (not to
> mention the tedious work that'd be involved in making them all use it,
> and convincing the authors of the of their dependants to use it as well)
I should have noticed this sooner before the trend started. :-( I was hoping eventually to get all these modules switched over.