in reply to How to declare a dependency on PerlIO in a CPAN module?
How likely do you think that it is your code will be run on such a Perl?
Note that even if certain things can't be expressed in the CPAN metadata (I'm not sure whether PerlIO is one of them at the moment, you could try declaring a dependency on PerlIO::scalar), you can at least gracefully bail out from Makefile.PL. See the CPAN Testers Authors FAQ:
"How can I indicate that my distribution only works on a particular operating system?"
While it isn't a very elegant solution, the recommend approach is to either die in the Makefile.PL or Build.PL (or BAIL_OUT in a test file) with one of the following messages:
- No support for OS
- OS unsupported
CPAN Testers tools will look for one of those phrases and will send an NA (Not Available) report for that platform.
"How can I stop getting FAIL reports for missing libraries or other non-Perl dependencies?"
If you have some special dependencies and don't want to get CPAN Testers reports if a dependency is not available, just exit from the Makefile.PL or Build.PL normally (with an exit code of 0) before the Makefile or Build file is created.
So in your case maybe:
eval { my $data="x"; open my $fh, "<", \$data or die $!; die unless <$fh> eq "x"; close $fh; 1 } or do { print "# ##### Bailing Out #####\n"; print "Something went wrong trying to use an in-memory ", "filehandle: ", $@, "Does your build of Perl include PerlIO?\n"; exit 0; };
(At the top of Makefile.PL, before WriteMakefile().)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to declare a dependency on PerlIO in a CPAN module?
by jcb (Parson) on Sep 01, 2019 at 23:06 UTC | |
by haukex (Archbishop) on Sep 02, 2019 at 06:25 UTC | |
by jcb (Parson) on Sep 02, 2019 at 21:32 UTC | |
by haukex (Archbishop) on Sep 03, 2019 at 14:00 UTC | |
by jcb (Parson) on Sep 04, 2019 at 02:23 UTC | |
|