On Thu, Aug 6, 2020 at 11:54 AM Nathaniel Smith <n...@pobox.com> wrote:

> If the code that failed to give a good error message is in
> louvain-igraph, then you should probably talk to them about that :-).
> There's no way for the core packaging libraries to guess what this
> kind of arbitrary package-specific code is going to do.

That was the point I was trying to make, albeit not very well I guess.
Because Requires-External was not supplied, and pip would not have
done anything with it even if it had been, the package had to roll its
own.  The documentation for Requires-External says what it requires,
but it does not indicate that anything else happens besides (I assume)
the installation halting if the condition is not met.  That is, if
there is:

Requires-External: libpng

and pip acts on it that meant it found libpng.so, but there does not
seem to be any requirement that it communicate any further information
about libpng to setup.py in any standard way.  Which is why the
setup.py for louvain rolled its own.  For posixy OS's it would be
sufficient to know that if the "Requires-External" passed that
"pkg-config --cflags libpng" and the like will work.  But again, that
pushes the work into setup.py where it will not be standardized nor
platform agnostic.  So for better portability passing one of these
tests should also set some standard variables like:

   RE_libpng_cflags="-lpng16 -lz"
   RE_libpng_includedir="/usr/include"
   RE_libpng_libdir="/usr/lib64"
   (and so forth).

which are then seen in setup.py.  Yes, these are just the various
values already in the libpng.pc file, no reason to reinvent that
wheel.  The result should be simpler setup.py's which are portable
without requiring all the conditional "if it is this OS then look
here" that they must currently contain.

Regards,

David Mathog
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/VLAYCVDATGUMOH2E7GJNIOKQ3LOZVFDN/

Reply via email to