diff options
author | Massimiliano Culpo <massimiliano.culpo@googlemail.com> | 2017-07-18 18:53:35 +0200 |
---|---|---|
committer | becker33 <becker33@llnl.gov> | 2017-07-18 09:53:35 -0700 |
commit | 5a1ee2257534497e7e436fa72f94da6e4e0e03e7 (patch) | |
tree | 43df5661f52dfa8add69928e38ad576393f9bb00 /lib | |
parent | 6b2d75a0a6cf23e685d65a7d1c09ecba6c358275 (diff) | |
download | spack-5a1ee2257534497e7e436fa72f94da6e4e0e03e7.tar.gz spack-5a1ee2257534497e7e436fa72f94da6e4e0e03e7.tar.bz2 spack-5a1ee2257534497e7e436fa72f94da6e4e0e03e7.tar.xz spack-5a1ee2257534497e7e436fa72f94da6e4e0e03e7.zip |
package: removed default no-op patch (#4103)
* package: removed default no-op patch fixes #4085
* do_patch: handles NoSuchMethodError nicely
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/package.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index dc23f6351f..1223fce178 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -58,6 +58,7 @@ import spack.mirror import spack.repository import spack.url import spack.util.web +import spack.multimethod from llnl.util.filesystem import * from llnl.util.lang import * @@ -939,10 +940,6 @@ class PackageBase(with_metaclass(PackageMeta, object)): self.stage.expand_archive() self.stage.chdir_to_source() - def patch(self): - """Default patch implementation is a no-op.""" - pass - def do_patch(self): """Calls do_stage(), then applied patches to the expanded tarball if they haven't been applied already.""" @@ -1003,6 +1000,10 @@ class PackageBase(with_metaclass(PackageMeta, object)): self.patch() tty.msg("Ran patch() for %s" % self.name) patched = True + except spack.multimethod.NoSuchMethodError: + # We are running a multimethod without a default case. + # If there's no default it means we don't need to patch. + tty.msg("No patches needed for %s" % self.name) except: tty.msg("patch() function failed for %s" % self.name) touch(bad_file) |