From d85a46380cd0b2b113c8e3de111298abff2dd24f Mon Sep 17 00:00:00 2001 From: "Gregory L. Lee" Date: Tue, 22 Dec 2015 06:50:18 -0800 Subject: [PATCH 1/3] fix conflict with setuptools and cached pyc files --- var/spack/packages/python/package.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/var/spack/packages/python/package.py b/var/spack/packages/python/package.py index 30e6ef6bb86..2213244d6d7 100644 --- a/var/spack/packages/python/package.py +++ b/var/spack/packages/python/package.py @@ -35,7 +35,8 @@ def install(self, spec, prefix): # Rest of install is pretty standard except setup.py needs to be able to read the CPPFLAGS # and LDFLAGS as it scans for the library and headers to build - configure("--prefix=%s" % prefix, + configure_args= [ + "--prefix=%s" % prefix, "--with-threads", "--enable-shared", "CPPFLAGS=-I%s/include -I%s/include -I%s/include -I%s/include -I%s/include -I%s/include" % ( @@ -45,7 +46,11 @@ def install(self, spec, prefix): "LDFLAGS=-L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib" % ( spec['openssl'].prefix, spec['bzip2'].prefix, spec['readline'].prefix, spec['ncurses'].prefix, - spec['sqlite'].prefix, spec['zlib'].prefix)) + spec['sqlite'].prefix, spec['zlib'].prefix) + ] + if spec.satisfies('@3:'): + configure_args.append('--without-ensurepip') + configure(*configure_args) make() make("install") @@ -116,6 +121,7 @@ def python_ignore(self, ext_pkg, args): patterns.append(r'setuptools\.pth') patterns.append(r'bin/easy_install[^/]*$') patterns.append(r'setuptools.*egg$') + patterns.append(r'__pycache__/.*.pyc$') return match_predicate(ignore_arg, patterns) From 3db1c1761ee634f4c2a7d254a4aeca1d04f20967 Mon Sep 17 00:00:00 2001 From: "Gregory L. Lee" Date: Tue, 22 Dec 2015 08:03:17 -0800 Subject: [PATCH 2/3] only ignore cached site.py file --- var/spack/packages/python/package.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/var/spack/packages/python/package.py b/var/spack/packages/python/package.py index 2213244d6d7..920629e9109 100644 --- a/var/spack/packages/python/package.py +++ b/var/spack/packages/python/package.py @@ -117,11 +117,10 @@ def python_ignore(self, ext_pkg, args): # Ignore pieces of setuptools installed by other packages. if ext_pkg.name != 'py-setuptools': - patterns.append(r'/site\.pyc?$') + patterns.append(r'/site.*\.pyc?$') patterns.append(r'setuptools\.pth') patterns.append(r'bin/easy_install[^/]*$') patterns.append(r'setuptools.*egg$') - patterns.append(r'__pycache__/.*.pyc$') return match_predicate(ignore_arg, patterns) From 41fd380d1b85f07b6ab05b2fecd729e125c0c023 Mon Sep 17 00:00:00 2001 From: "Gregory L. Lee" Date: Tue, 22 Dec 2015 09:15:47 -0800 Subject: [PATCH 3/3] fixed site pyc regular expression --- var/spack/packages/python/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/packages/python/package.py b/var/spack/packages/python/package.py index 920629e9109..eb14c98931f 100644 --- a/var/spack/packages/python/package.py +++ b/var/spack/packages/python/package.py @@ -117,7 +117,7 @@ def python_ignore(self, ext_pkg, args): # Ignore pieces of setuptools installed by other packages. if ext_pkg.name != 'py-setuptools': - patterns.append(r'/site.*\.pyc?$') + patterns.append(r'/site[^/]*\.pyc?$') patterns.append(r'setuptools\.pth') patterns.append(r'bin/easy_install[^/]*$') patterns.append(r'setuptools.*egg$')