diff --git a/var/spack/repos/builtin/packages/uncrustify/package.py b/var/spack/repos/builtin/packages/uncrustify/package.py
index 4ef0049c7396d98a73deefaec62f1a1e2e970d17..a30a7b0ae378137720fa5058b70ce2199af9f5d1 100644
--- a/var/spack/repos/builtin/packages/uncrustify/package.py
+++ b/var/spack/repos/builtin/packages/uncrustify/package.py
@@ -25,10 +25,26 @@
 from spack import *
 
 
-class Uncrustify(AutotoolsPackage):
+class Uncrustify(Package):
     """Source Code Beautifier for C, C++, C#, ObjectiveC, Java, and others."""
 
     homepage = "http://uncrustify.sourceforge.net/"
     url      = "http://downloads.sourceforge.net/project/uncrustify/uncrustify/uncrustify-0.61/uncrustify-0.61.tar.gz"
 
+    version('0.67', '0c9a08366e5c97cd02ae766064e957de41827611')
     version('0.61', 'b6140106e74c64e831d0b1c4b6cf7727')
+
+    depends_on('cmake', type='build', when='@0.64:')
+
+    @when('@0.64:')
+    def install(self, spec, prefix):
+        with working_dir('spack-build', create=True):
+            cmake('..', *std_cmake_args)
+            make()
+            make('install')
+
+    @when('@:0.62')
+    def install(self, spec, prefix):
+        configure('--prefix={0}'.format(self.prefix))
+        make()
+        make('install')