On Sun, Aug 9, 2020, 3:28 PM Wes Turner
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, https://github.com/vinta/awesome-python#distribution
On Sun, Aug 9, 2020, 3:05 PM David Mathog
wrote: On Sun, Aug 9, 2020 at 10:21 AM Ned Deily
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/BCYVP...