Paramiko python extensions + his deps and other related extensions#4158
Paramiko python extensions + his deps and other related extensions#4158adamjstewart merged 8 commits intospack:developfrom
Conversation
| and primitives to Python developers""" | ||
|
|
||
| homepage = "https://pypi.python.org/pypi/cryptography" | ||
| url = "https://pypi.python.org/packages/ec/5f/d5bc241d06665eed93cd8d3aa7198024ce7833af7a67f6dc92df94e00588/cryptography-1.8.1.tar.gz#md5=9f28a9c141995cd2300d0976b4fac3fb" |
There was a problem hiding this comment.
|
|
||
| version('0.22.0', '74a8b9402625b38ef19cf3fa69ef8470') | ||
|
|
||
| depends_on('py-setuptools', type=('build', 'link')) |
There was a problem hiding this comment.
This should probably be build only.
There was a problem hiding this comment.
remnant of when using #2548 to build python+tk
|
|
||
| depends_on('py-setuptools', type=('build', 'link')) | ||
| depends_on('py-cffi', type=('build', 'link', 'run')) | ||
| depends_on('py-asn1crypto', type=('build', 'link', 'run')) |
There was a problem hiding this comment.
These should be 'build', 'run'. Also, you're missing half a dozen dependencies. Check the setup.py and look at install_requires and setup_requires.
|
|
||
| version('1.8.1', '9f28a9c141995cd2300d0976b4fac3fb') | ||
|
|
||
| depends_on('py-setuptools', type=('build', 'link')) |
|
|
||
| version('1.0.18', '310c2dfd64eb6f0df44aa8c59f2334a7') | ||
|
|
||
| # depends_on('py-setuptools', type='build') |
There was a problem hiding this comment.
You can uncomment this, it uses setuptools if found.
| class PyParamiko(PythonPackage): | ||
| """SSH2 protocol library""" | ||
|
|
||
| # FIXME: Add a proper url for your package's homepage here. |
|
|
||
| version('2.1.2', '41a8ea0e8abb03a6bf59870670d4f46c') | ||
|
|
||
| depends_on('py-setuptools', type=('build', 'link')) |
| depends_on('py-cryptography', type=('build', 'link', 'run')) | ||
| depends_on('py-enum34', type=('build', 'link', 'run')) | ||
| depends_on('py-ipaddress', type=('build', 'link', 'run')) | ||
| depends_on('py-idna', type=('build', 'link', 'run')) |
There was a problem hiding this comment.
('build', 'run') only.
I see the following requirements:
install_requires=[
'cryptography>=1.1',
'pyasn1>=0.1.7',
],Where are the rest coming from? Also, can you be more specific about the versions required?
|
|
||
| # depends_on('py-setuptools', type=('build', 'link')) | ||
| # depends_on('py-setuptools', type='include') | ||
| # depends_on('gmp') |
There was a problem hiding this comment.
Yes, it looks like this package requires either gmp or mpir for Crypto.PublicKey._fastmath. You don't have to add the latter, gmp is fine.
| # depends_on('py-setuptools', type=('build', 'link')) | ||
| # depends_on('py-setuptools', type='include') | ||
| # depends_on('gmp') | ||
| # not just build-time, requires pkg_resources |
There was a problem hiding this comment.
This package doesn't require pkg_resources...
| depends_on('[email protected]:', type=('build', 'run')) | ||
| depends_on('[email protected]:', type=('build', 'run')) | ||
| depends_on('py-enum34', type=('build', 'run'), when='^python@:3.4') | ||
| depends_on('py-ipaddress', type=('build', 'run'), when='^python@:3.3') |
There was a problem hiding this comment.
Does this actually work? I've had problems with this in the past. See py-flake8 and #2793.
There was a problem hiding this comment.
I' ve just built now,
I ' ve tried to follow other packages, some are commented but other are using.
I thought you suggested
There was a problem hiding this comment.
If I remember correctly, it depends on whether it needs to be present by default (Python 2.7) or not (Python 3). Basically, if you explicitly specify the version, it will always work. But sometimes, if you don't specify the version and let it choose the latest version of Python 2, it won't work. But if spack spec py-cryptography works, then it works.
There was a problem hiding this comment.
I'm checking now but now
spack spec py-ordereddict
seems to pick up [email protected], at least in my case
…pack#4158) * adding paramiko and missing dependencies, setup to work with spack#2548 * adding other deps for paramiko * fix flake8 errors * removed spurious add * address suggestion for proper dependencies * fix cryptography deps * remove FIXME comments and commented depends lines
…pack#4158) * adding paramiko and missing dependencies, setup to work with spack#2548 * adding other deps for paramiko * fix flake8 errors * removed spurious add * address suggestion for proper dependencies * fix cryptography deps * remove FIXME comments and commented depends lines
…pack#4158) * adding paramiko and missing dependencies, setup to work with spack#2548 * adding other deps for paramiko * fix flake8 errors * removed spurious add * address suggestion for proper dependencies * fix cryptography deps * remove FIXME comments and commented depends lines
I need Paramiko and these other extensions. added extension needed in my use case.
unsure is dependency have been specified correctly