On Thu, Aug 8, 2013 at 4:18 PM, Paul LeoNerd <leon...@leonerd.org.uk> wrote:
> On Thu, 8 Aug 2013 21:21:39 +0200
> Leon Timmermans <faw...@gmail.com> wrote:
>
>> On Thu, Aug 8, 2013 at 9:16 PM, Aristotle Pagaltzis
>> <pagalt...@gmx.de> wrote:
>> > Yeah, that’ll work great until the moment someone supports three
>> > OSes. Or supports all OSes except a specific one.
>> > (Alien::NotVMS::FooBar?)
>>
>> Or only recent versions of an OS…
>
> I think we're still missing some essential question here. To take a
> really concrete example - does Alien::libtermkey "support" Linux?
>
>  * It works on -my- Linux box.
>
>  * It won't work on any Linux box that lacks GNU libtool, or GNU make,
>    even though those can just be installed.
>
>  * It won't work on any Linux box that lacks both unibilium and
>    ncurses's development headers.
>
> Chris: Given the above, would you say that Alien::libtermkey supports
> Linux or not?

I would suggest that the above failures could be addressed
with appropriate conditions on the success, something like:

* It works on -my- Linux box.

* It works on any Linux box that lacks GNU libtool, or GNU make,
   though you will have to install them.

* It works on any Linux box that lacks both unibilium and ncurses
    development headers. but you may have to install them.

Looked at that way then, I would say it supports any linux
box provided that certain conditions are met.  (BTW, explaining
these conditions are exactly the point of the helpful diagnostic
output).

> If no => then surely no Alien:: module can ever be said to support
>          -any- OS, since its dependencies could just not be present.
> If yes => then surely in my case at least, Alien::libtermkey can be
>           said to support Windows too.

To say yes, you would need to be able to answer in the
affirmative to things like this:

* Does it work on --my or someone's-- windows box?
* Does it work on some windows box provided you install libtool and gmake?
* Does it work if you install the needed headers from unibilium and ncurses?

My answers for the above would be no, no, and no.
I could answer based on CPAN Testers results (after decoding them),
there are no PASS results for win32 or cygwin so again, no, it doesn't
work on windows.  Similarly, for the OS platforms that work, I could
check the CPAN Testers matrix and ask

* Which perl platforms have _any_ PASS reports?
darwin, dragonfly, freebsd, linux, midnightbsd, openbsd

* Which perl platorms have _multiple_ PASS reports?
dragonfly, freebsd, linux, midnightbsd, openbsd

* Which perl platforms have _mostly_ PASSes?
dragonfly, freebsd, openbsd

The answers above come from the CPAN Testers reports for
Alien::libtermkey version 0.15.  From those results I would
say Alien::libtermkey supports (dragonfly|free|open)bsd and
partial support for linux|midnightbsd.  From the full results I
would say that it does not support cygwin, gnukfreebsd,mswin32,
netbsd, or solaris at all.

Where you cut things off is a matter of judgement.  You'll be able
to make a better call for the platforms you have targeted in your
implementation.  However, if you can't produce a working example
for a given platform, and your implementation specifically targets
or is based on things that are not typically present on a given
platform, then I think it is reasonable (and much, much, much,...,
more helpful) to say

  "As of version 0.15, Alien::libtermkey does not build for
   MSWin32 platforms.  For detailed diagnostics, please
  try installing Alien::libtermkey and inspect the log from
  the build process".

> This really is the core of my confusion here.

I hope that helps.  Again, the idea is to make it possible to
more simply provide Alien modules that provide at least
partial functionality on all perl platforms (even if only by
detecting an existing install and configuring things from
that.

Cheers,
Chris

Reply via email to