From 48f1ff87f836f214e72e1d02f47eac4678f0292a Mon Sep 17 00:00:00 2001
From: "Gregory L. Lee" <lee218@llnl.gov>
Date: Fri, 23 Jan 2015 13:53:36 -0800
Subject: [PATCH] added more Python modules

---
 var/spack/packages/py-dateutil/package.py   |  1 +
 var/spack/packages/py-libxml2/package.py    | 13 +++++++++++++
 var/spack/packages/py-matplotlib/package.py |  1 +
 var/spack/packages/py-pychecker/package.py  | 13 +++++++++++++
 var/spack/packages/py-pyqt4/package.py      | 18 ++++++++++++++++++
 var/spack/packages/py-sip/package.py        | 15 +++++++++++++++
 var/spack/packages/qt/package.py            |  5 +++--
 7 files changed, 64 insertions(+), 2 deletions(-)
 create mode 100644 var/spack/packages/py-libxml2/package.py
 create mode 100644 var/spack/packages/py-pychecker/package.py
 create mode 100644 var/spack/packages/py-pyqt4/package.py
 create mode 100644 var/spack/packages/py-sip/package.py

diff --git a/var/spack/packages/py-dateutil/package.py b/var/spack/packages/py-dateutil/package.py
index 96e3ecab07..11699e07ee 100644
--- a/var/spack/packages/py-dateutil/package.py
+++ b/var/spack/packages/py-dateutil/package.py
@@ -8,6 +8,7 @@ class PyDateutil(Package):
     version('2.4.0', '75714163bb96bedd07685cdb2071b8bc')
 
     extends('python')
+    depends_on('py-setuptools')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-libxml2/package.py b/var/spack/packages/py-libxml2/package.py
new file mode 100644
index 0000000000..0dcefbd9cf
--- /dev/null
+++ b/var/spack/packages/py-libxml2/package.py
@@ -0,0 +1,13 @@
+from spack import *
+
+class PyLibxml2(Package):
+    """A Python wrapper around libxml2."""
+    homepage = "https://xmlsoft.org/python.html"
+    url      = "ftp://xmlsoft.org/libxml2/python/libxml2-python-2.6.21.tar.gz"
+
+    version('2.6.21', '229dd2b3d110a77defeeaa73af83f7f3')
+
+    extends('python')
+
+    def install(self, spec, prefix):
+        python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-matplotlib/package.py b/var/spack/packages/py-matplotlib/package.py
index 270a1ebfe4..5979ceeab0 100644
--- a/var/spack/packages/py-matplotlib/package.py
+++ b/var/spack/packages/py-matplotlib/package.py
@@ -16,6 +16,7 @@ class PyMatplotlib(Package):
     depends_on('py-dateutil')
     depends_on('py-pytz')
     depends_on('py-nose')
+    depends_on('py-numpy')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-pychecker/package.py b/var/spack/packages/py-pychecker/package.py
new file mode 100644
index 0000000000..bda5a746aa
--- /dev/null
+++ b/var/spack/packages/py-pychecker/package.py
@@ -0,0 +1,13 @@
+from spack import *
+
+class PyPychecker(Package):
+    """"""
+    homepage = "http://pychecker.sourceforge.net/"
+    url      = "http://sourceforge.net/projects/pychecker/files/pychecker/0.8.19/pychecker-0.8.19.tar.gz"
+
+    version('0.8.19', 'c37182863dfb09209d6ba4f38fce9d2b')
+
+    extends('python')
+
+    def install(self, spec, prefix):
+        python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-pyqt4/package.py b/var/spack/packages/py-pyqt4/package.py
new file mode 100644
index 0000000000..eeb1382560
--- /dev/null
+++ b/var/spack/packages/py-pyqt4/package.py
@@ -0,0 +1,18 @@
+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')
diff --git a/var/spack/packages/py-sip/package.py b/var/spack/packages/py-sip/package.py
new file mode 100644
index 0000000000..06aea35a74
--- /dev/null
+++ b/var/spack/packages/py-sip/package.py
@@ -0,0 +1,15 @@
+from spack import *
+
+class PySip(Package):
+    """SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries."""
+    homepage = "http://www.riverbankcomputing.com/software/sip/intro"
+    url      = "http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.5/sip-4.16.5.tar.gz"
+
+    version('4.16.5', '6d01ea966a53e4c7ae5c5e48c40e49e5')
+
+    extends('python')
+
+    def install(self, spec, prefix):
+        python('configure.py')
+        make()
+        make('install')
diff --git a/var/spack/packages/qt/package.py b/var/spack/packages/qt/package.py
index 01f9de7f3c..6a55c89701 100644
--- a/var/spack/packages/qt/package.py
+++ b/var/spack/packages/qt/package.py
@@ -37,8 +37,9 @@ def install(self, spec, prefix):
                   '-fast',
                   '-optimized-qmake',
                   '-no-pch',
-                  '-no-phonon',
-                  '-no-phonon-backend',
+# phonon required for py-pyqt4
+#                  '-no-phonon',
+#                  '-no-phonon-backend',
                   '-no-openvg')
         make()
         make("install")
-- 
GitLab