Better time output on build completion.
This commit is contained in:
		| @@ -848,8 +848,8 @@ def do_install(self, **kwargs): | |||||||
|                 build_time = self._total_time - self._fetch_time |                 build_time = self._total_time - self._fetch_time | ||||||
|  |  | ||||||
|                 tty.msg("Successfully installed %s." % self.name, |                 tty.msg("Successfully installed %s." % self.name, | ||||||
|                         "Fetch: %.2f sec.  Build: %.2f sec.  Total: %.2f sec." |                         "Fetch: %s.  Build: %s.  Total: %s." | ||||||
|                         % (self._fetch_time, build_time, self._total_time)) |                         % (_hms(self._fetch_time), _hms(build_time), _hms(self._total_time))) | ||||||
|                 print_pkg(self.prefix) |                 print_pkg(self.prefix) | ||||||
|  |  | ||||||
|                 # Use os._exit here to avoid raising a SystemExit exception, |                 # Use os._exit here to avoid raising a SystemExit exception, | ||||||
| @@ -1201,6 +1201,18 @@ def print_pkg(message): | |||||||
|     print message |     print message | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def _hms(seconds): | ||||||
|  |     """Convert time in seconds to hours, minutes, seconds.""" | ||||||
|  |     m, s = divmod(seconds, 60) | ||||||
|  |     h, m = divmod(m, 60) | ||||||
|  |  | ||||||
|  |     parts = [] | ||||||
|  |     if h: parts.append("%dh" % h) | ||||||
|  |     if m: parts.append("%dm" % m) | ||||||
|  |     if s: parts.append("%.2fs" % s) | ||||||
|  |     return ' '.join(parts) | ||||||
|  |  | ||||||
|  |  | ||||||
| class FetchError(spack.error.SpackError): | class FetchError(spack.error.SpackError): | ||||||
|     """Raised when something goes wrong during fetch.""" |     """Raised when something goes wrong during fetch.""" | ||||||
|     def __init__(self, message, long_msg=None): |     def __init__(self, message, long_msg=None): | ||||||
|   | |||||||
| @@ -1,18 +1,21 @@ | |||||||
| from spack import * | from spack import * | ||||||
| 
 | 
 | ||||||
| class PyPyqt4(Package): | class PyPyqt(Package): | ||||||
|     """PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework and runs on all platforms supported by Qt including Windows, MacOS/X and Linux.""" |     """PyQt is a set of Python v2 and v3 bindings for Digia's Qt | ||||||
|  |        application framework and runs on all platforms supported by Qt | ||||||
|  |        including Windows, MacOS/X and Linux.""" | ||||||
|     homepage = "http://www.riverbankcomputing.com/software/pyqt/intro" |     homepage = "http://www.riverbankcomputing.com/software/pyqt/intro" | ||||||
|     url      = "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz" |     url      = "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz" | ||||||
| 
 | 
 | ||||||
|     version('4.11.3', '997c3e443165a89a559e0d96b061bf70') |     version('4.11.3', '997c3e443165a89a559e0d96b061bf70') | ||||||
| 
 | 
 | ||||||
|     extends('python') |     extends('python') | ||||||
|     depends_on('qt') |     depends_on('qt@4')  # TODO: allow qt5 when conditional deps are supported. | ||||||
|     depends_on('py-sip') |     depends_on('py-sip') | ||||||
| 
 | 
 | ||||||
|     def install(self, spec, prefix): |     def install(self, spec, prefix): | ||||||
|         version_array = str(spec['python'].version).split('.') |         python('configure.py', | ||||||
|         python('configure.py', '--confirm-license', '--destdir=%s/python%s.%s/site-packages' %(self.prefix.lib, version_array[0], version_array[1])) |                '--confirm-license', | ||||||
|  |                '--destdir=%s' % site_packages_dir) | ||||||
|         make() |         make() | ||||||
|         make('install') |         make('install') | ||||||
		Reference in New Issue
	
	Block a user
	 Todd Gamblin
					Todd Gamblin