PythonPackage builds flat installs instead of egg directories.

- Spack doesn't need eggs -- it manages its own directories

- Simplify install layout and reduce sys.path searches by installing all
  packages flat (eggs are deprecated for wheels, and this is also what
  wheels do).

- We now supply the --single-version-externally-managed argument to
  `setup.py install` for setuptools packages and setuptools.

- modify packages to only use setuptools args if setuptools is an
  immediate dependency

- Remove setuptools from packages that do not need it.

  - Some packages use setuptools *only* when certain args (likeb
    'develop' or 'bdist') are supplied to setup.py, and they specifically
    do not use setuptools for installation.

  - Spack never calls setup.py this way, so just removing the setuptools
    dependency works for these packages.
This commit is contained in:
Todd Gamblin
2017-03-27 14:02:00 -07:00
parent 0b002c2911
commit 9f0b94b4e1
19 changed files with 63 additions and 27 deletions

View File

@@ -32,7 +32,3 @@ class PyBackportsSslMatchHostname(PythonPackage):
url = "https://pypi.io/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz"
version('3.5.0.1', 'c03fc5e2c7b3da46b81acf5cbacfe1e6')
# newer setuptools version mess with "namespace" packages in an
# incompatible way cf. https://github.com/pypa/setuptools/issues/900
depends_on('py-setuptools@:30.999.999', type='build')