Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't use pynng==0.5.0 #68

Open
xmyeen opened this issue Jul 24, 2020 · 1 comment
Open

Can't use pynng==0.5.0 #68

xmyeen opened this issue Jul 24, 2020 · 1 comment

Comments

@xmyeen
Copy link

xmyeen commented Jul 24, 2020

I can't use pynng-0.5.0 because this mbedtls connection is very slow, and this problem cannot be solved.
Is mbedtls available from local?
For example:
At 'setup.py'

# NNG_REPO = 'https://github.com/nanomsg/nng'
NNG_REPO = os.environ.get('NNG_REPO', 'https://github.com/nanomsg/nng')
NNG_REV = '60198afcb25766a5ca060c9d3c368c4d37ad40da'
# MBEDTLS_REPO = 'https://github.com/ARMmbed/mbedtls.git'
MBEDTLS_REPO = os.environ.get('MBEDTLS_REPO', 'https://github.com/ARMmbed/mbedtls.git')
MBEDTLS_REV = '04a049bda1ceca48060b57bc4bcf5203ce591421'

Now, I can clone from local by defining environment variables.

Thanks.

@codypiersall
Copy link
Owner

Hi @xmyeen, thanks for opening an issue. Sorry I haven't gotten back to you sooner; I was in the middle of a move/house renovations (which are ongoing 😬)

I do think your issue is important, because it is a pain, and terribly inefficient, to re-download the library if you don't need to.

On the one hand I want to enable people to customize the build etc., and on the other hand I don't want to make the build process super complicated for anyone. I think some sort of wholistic, well-thought out changes may be in order. There are a few levels of customizations that may be desired:

  1. Specify a local repository for NNG and mbedTLS (this issue)
  2. Specify a pre-built nng lib and mbedTLS lib. (These will need to be static libraries, for now at least). Then the user could build the libraries with whatever customizations are required.
  3. Possibly specify a shared library to link with at runtime, instead of at build time. This would make pynng play nicer, and possibly even be able to get into Linux distro package managers without making the package maintainers sick (from what I understand, package maintainers dislike vendored dependencies like pynng does, for many good reasons.)

I'm undecided whether it's better to have environment variables that the setup script looks at, or pass options to the setup script. Any thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants