diff --git a/var/spack/packages/py-libxml2/package.py b/var/spack/packages/py-libxml2/package.py
index e645acb5dd8303180c0773178b93139ed4104ec2..59005428e4d1c9bcc520b0da5e8a107dee5573d0 100644
--- a/var/spack/packages/py-libxml2/package.py
+++ b/var/spack/packages/py-libxml2/package.py
@@ -9,6 +9,7 @@ class PyLibxml2(Package):
 
     extends('python')
     depends_on('libxml2')
+    depends_on('libxslt')
 
     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 8b8684c5632784b536e2bc80f7fe663185ae8ca9..f6b9c587fd311ef0d9e38bd9cfd4d72dfc581b9e 100644
--- a/var/spack/packages/py-matplotlib/package.py
+++ b/var/spack/packages/py-matplotlib/package.py
@@ -17,8 +17,12 @@ class PyMatplotlib(Package):
     depends_on('py-pytz')
     depends_on('py-nose')
     depends_on('py-numpy')
-    depends_on('qt')
 
+    depends_on('qt')
+    depends_on('bzip2')
+    depends_on('tcl')
+    depends_on('tk')
+    depends_on('qhull')
 
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-pyside/package.py b/var/spack/packages/py-pyside/package.py
index 1fd037d75f560c093911bb3f1a46011a78d4aa6b..c165d9b3bf2b5fc473dfbf20ce4eb18b0e24be22 100644
--- a/var/spack/packages/py-pyside/package.py
+++ b/var/spack/packages/py-pyside/package.py
@@ -13,7 +13,6 @@ class PyPyside(Package):
     depends_on('py-setuptools')
     depends_on('qt@:4')
 
-
     def patch(self):
         """Undo PySide RPATH handling and add Spack RPATH."""
         # Add Spack's standard CMake args to the sub-builds.
diff --git a/var/spack/packages/py-rpy2/package.py b/var/spack/packages/py-rpy2/package.py
index 3817059911d304a8e28566edaa48c57fc7db4f4d..dd0c0672afe8fa35bc3dbccbdc03cf2bee2f2b20 100644
--- a/var/spack/packages/py-rpy2/package.py
+++ b/var/spack/packages/py-rpy2/package.py
@@ -10,5 +10,7 @@ class PyRpy2(Package):
     extends('python')
     depends_on('py-setuptools')
 
+    depends_on('R')
+
     def install(self, spec, prefix):
         python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-scientificpython/package.py b/var/spack/packages/py-scientificpython/package.py
index 73600e6cb97d6469e37d0e583e8123d061a2fe12..020d830703298abb8a04340c259e9bb62136d101 100644
--- a/var/spack/packages/py-scientificpython/package.py
+++ b/var/spack/packages/py-scientificpython/package.py
@@ -1,7 +1,11 @@
 from spack import *
 
 class PyScientificpython(Package):
-    """ScientificPython is a collection of Python modules for scientific computing. It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization, and parallelization."""
+    """ScientificPython is a collection of Python modules for
+       scientific computing. It contains support for geometry,
+       mathematical functions, statistics, physical units, IO,
+       visualization, and parallelization."""
+
     homepage = "https://sourcesup.renater.fr/projects/scientific-py/"
     url      = "https://sourcesup.renater.fr/frs/download.php/4411/ScientificPython-2.8.1.tar.gz"
 
diff --git a/var/spack/packages/py-shiboken/package.py b/var/spack/packages/py-shiboken/package.py
index 47abe64e6515567e39be3f7cbedf4bf6fcdceba0..e90094793952c5d32cb1acc43a964d21b2f9d0ee 100644
--- a/var/spack/packages/py-shiboken/package.py
+++ b/var/spack/packages/py-shiboken/package.py
@@ -15,6 +15,25 @@ class PyShiboken(Package):
     depends_on("libxml2")
     depends_on("qt@:4.8")
 
+    def patch(self):
+        """Undo Shiboken RPATH handling and add Spack RPATH."""
+        # Add Spack's standard CMake args to the sub-builds.
+        # They're called BY setup.py so we have to patch it.
+        filter_file(
+            r'OPTION_CMAKE,',
+            r'OPTION_CMAKE, ' + (
+                '"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
+                '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(self.rpath)),
+            'setup.py')
+
+        # Shiboken tries to patch ELF files to remove RPATHs
+        # Disable this and go with the one we set.
+        filter_file(
+            r'^\s*rpath_cmd\(shiboken_path, srcpath\)',
+            r'#rpath_cmd(shiboken_path, srcpath)',
+            'shiboken_postinstall.py')
+
+
     def install(self, spec, prefix):
         python('setup.py', 'install',
                '--prefix=%s' % prefix,