diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index 9a15308652d46e18784b2d3d8059fc79525add07..7eeea4277305ea55ad51945849a4ddfe17b5b677 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -45,8 +45,13 @@ def url_for_version(self, version):
         return "https://github.com/lammps/lammps/archive/patch_{0}.tar.gz".format(
             vdate.strftime("%d%b%Y").lstrip('0'))
 
-    supported_packages = ['voronoi', 'rigid', 'user-netcdf', 'kspace',
-                          'latte', 'user-atc', 'user-omp', 'meam', 'manybody']
+    supported_packages = ['asphere', 'body', 'class2', 'colloid', 'compress',
+                          'coreshell', 'dipole', 'granular', 'kspace', 'latte',
+                          'manybody', 'mc', 'meam', 'misc', 'molecule',
+                          'mpiio', 'peri', 'poems', 'python', 'qeq', 'reax',
+                          'replica', 'rigid', 'shock', 'snap', 'srd',
+                          'user-atc', 'user-h5md', 'user-lb', 'user-misc',
+                          'user-netcdf', 'user-omp', 'voronoi']
 
     for pkg in supported_packages:
         variant(pkg, default=False,
@@ -57,6 +62,7 @@ def url_for_version(self, version):
             description='Build with mpi')
 
     depends_on('mpi', when='+mpi')
+    depends_on('mpi', when='+mpiio')
     depends_on('fftw', when='+kspace')
     depends_on('voropp', when='+voronoi')
     depends_on('netcdf+mpi', when='+user-netcdf')
@@ -65,8 +71,19 @@ def url_for_version(self, version):
     depends_on('latte', when='+latte')
     depends_on('blas', when='+latte')
     depends_on('lapack', when='+latte')
+    depends_on('python', when='+python')
+    depends_on('mpi', when='+user-lb')
+    depends_on('mpi', when='+user-h5md')
+    depends_on('hdf5', when='+user-h5md')
 
+    conflicts('+body', when='+poems')
     conflicts('+latte', when='@:20170921')
+    conflicts('+python', when='~lib')
+    conflicts('+qeq', when='~manybody')
+    conflicts('+user-atc', when='~manybody')
+    conflicts('+user-misc', when='~manybody')
+    conflicts('+user-phonon', when='~kspace')
+    conflicts('+user-misc', when='~manybody')
 
     patch("lib.patch", when="@20170901")
     patch("660.patch", when="@20170922")