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

@@ -22,6 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
import os
from spack import *
@@ -35,7 +36,6 @@ class PyNbconvert(PythonPackage):
version('4.1.0', '06655576713ba1ff7cece2b92760c187')
version('4.0.0', '9661620b1e10a7b46f314588d2d0932f')
depends_on('py-setuptools', type='build')
depends_on('py-pycurl', type='build')
depends_on('python@2.7:2.7.999,3.3:')
depends_on('py-mistune', type=('build', 'run'))
@@ -48,8 +48,8 @@ class PyNbconvert(PythonPackage):
depends_on('py-tornado', type=('build', 'run'))
depends_on('py-jupyter-client', type=('build', 'run'))
# FIXME:
# Failed, try again after installing PycURL with `pip install pycurl` to avoid outdated SSL. # noqa
# Failed to download css from https://cdn.jupyter.org/notebook/4.1.0/style/style.min.css: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) # noqa
# Downloading CSS: https://cdn.jupyter.org/notebook/4.1.0/style/style.min.css # noqa
# error: Need Notebook CSS to proceed: nbconvert/resources/style.min.css
def patch(self):
# We bundle this with the spack package so that the installer
# doesn't try to download it.
install(os.path.join(self.package_dir, 'style.min.css'),
os.path.join('nbconvert', 'resources', 'style.min.css'))

File diff suppressed because one or more lines are too long