On Sun, Aug 9, 2020, 3:28 PM Wes Turner <wes.turner@gmail.com> wrote:
Are you requesting an implementation of autotools / autoconf / pkg-config / libtool in Python, in setuptools?

Existing workarounds for building and distributing portable binaries:

W/ shared library dependencies:
- auditwheel & manylinux

"""
`auditwheel show`: shows external shared libraries that the wheel depends on (beyond the libraries included in the manylinux policies), and checks the extension modules for the use of versioned symbols that exceed the manylinux ABI.

`auditwheel repair`: copies these external shared libraries into the wheel itself, and automatically modifies the appropriate RPATH entries such that these libraries will be picked up at runtime. This accomplishes a similar result as if the libraries had been statically linked without requiring changes to the build system. Packagers are advised that bundling, like static linking, may implicate copyright concerns.
"""

https://github.com/pypa/auditwheel#overview

- package managers which support arbitrary binary packages in languages other than python:
  - conda
  - RPM / DEB / ...
    - bdist_rpm
    - bdist_deb
    - FPM

W/ static dependencies:
- zipapp
- bazel / buck build / pants build (BUILD files)
- py2app, py2exe, pyinstaller, 

On Sun, Aug 9, 2020, 3:05 PM David Mathog <dmathog@gmail.com> wrote:
On Sun, Aug 9, 2020 at 10:21 AM Ned Deily <nad@python.org> wrote:
> Just to be clear, pkg-config is not part of any Posix standard, AFAIK, so you cannot depend on it being available.

Understood.  However, if that is not employed what reasonable method
remains for implementing "Requires-External"?  The only thing I can
think of is to specify exact library or program names, like

Requires-External gcc
Requires-External libpng.so

and those could be found by searching the whole directory tree.  That
might even be efficient if updatedb/locate are available.  However
going that way, how would one determine version compatibility on a
library?  Doing it through the package manager may be possible, but it
is a multistep process:

1.  lookup libpng.so -> PATHPNG
2.  rpm -q --whatprovides $PATHPNG -> name of package
3.  analyze "name of package" for version information

Much easier one suspects to install pkg-config on systems which do not
yet have it than to completely reimplement it.

Does OS X have something which is equivalent to pkg-config, or is
there just no way to look up this sort of information on that OS?

Regards,

David Mathog
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-leave@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/BCYVPMEGXLU7YQJUCCQDV5BT7E22EH7M/