From 2f67cdaf10a3e64474f7ac242518fdfe93e9c87a Mon Sep 17 00:00:00 2001
From: Todd Gamblin <tgamblin@llnl.gov>
Date: Sun, 15 Feb 2015 12:39:10 -0800
Subject: Better time output on build completion.

---
 lib/spack/spack/package.py             | 16 ++++++++++++++--
 var/spack/packages/py-pyqt/package.py  | 21 +++++++++++++++++++++
 var/spack/packages/py-pyqt4/package.py | 18 ------------------
 3 files changed, 35 insertions(+), 20 deletions(-)
 create mode 100644 var/spack/packages/py-pyqt/package.py
 delete mode 100644 var/spack/packages/py-pyqt4/package.py

diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index a624c1ebf5..c48816cb5b 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -848,8 +848,8 @@ class Package(object):
                 build_time = self._total_time - self._fetch_time
 
                 tty.msg("Successfully installed %s." % self.name,
-                        "Fetch: %.2f sec.  Build: %.2f sec.  Total: %.2f sec."
-                        % (self._fetch_time, build_time, self._total_time))
+                        "Fetch: %s.  Build: %s.  Total: %s."
+                        % (_hms(self._fetch_time), _hms(build_time), _hms(self._total_time)))
                 print_pkg(self.prefix)
 
                 # Use os._exit here to avoid raising a SystemExit exception,
@@ -1201,6 +1201,18 @@ def print_pkg(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):
     """Raised when something goes wrong during fetch."""
     def __init__(self, message, long_msg=None):
diff --git a/var/spack/packages/py-pyqt/package.py b/var/spack/packages/py-pyqt/package.py
new file mode 100644
index 0000000000..cb40af351a
--- /dev/null
+++ b/var/spack/packages/py-pyqt/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+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."""
+    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"
+
+    version('4.11.3', '997c3e443165a89a559e0d96b061bf70')
+
+    extends('python')
+    depends_on('qt@4')  # TODO: allow qt5 when conditional deps are supported.
+    depends_on('py-sip')
+
+    def install(self, spec, prefix):
+        python('configure.py',
+               '--confirm-license',
+               '--destdir=%s' % site_packages_dir)
+        make()
+        make('install')
diff --git a/var/spack/packages/py-pyqt4/package.py b/var/spack/packages/py-pyqt4/package.py
deleted file mode 100644
index eeb1382560..0000000000
--- a/var/spack/packages/py-pyqt4/package.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from spack import *
-
-class PyPyqt4(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."""
-    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"
-
-    version('4.11.3', '997c3e443165a89a559e0d96b061bf70')
-
-    extends('python')
-    depends_on('qt')
-    depends_on('py-sip')
-
-    def install(self, spec, prefix):
-        version_array = str(spec['python'].version).split('.')
-        python('configure.py', '--confirm-license', '--destdir=%s/python%s.%s/site-packages' %(self.prefix.lib, version_array[0], version_array[1]))
-        make()
-        make('install')
-- 
cgit v1.2.3-70-g09d2