diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 218f25b586ea1a590a6a1469a376598f2b94782b..224105ea0f0838e055324789e71a23bf1660f76a 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -46,6 +46,8 @@ class Gcc(Package):
     if sys.platform == 'darwin':
         patch('darwin/gcc-4.9.patch1', when='@4.9.3')
         patch('darwin/gcc-4.9.patch2', when='@4.9.3')
+    else:
+        provides('golang', when='@4.7.1:')
 
     def install(self, spec, prefix):
         # libjava/configure needs a minor fix to install into spack paths.
diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index 80924c7fad5e7ecbf147efbf7de8ab3270301ce1..90f34dcfc6f3e9dd2f55ad3546a3ca0a884ac9de 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -65,4 +65,6 @@ def setup_dependent_environment(self, spack_env, run_env, ext_spec):
         shutil.copytree('bin', os.path.join(prefix, '/bin'))
         """
 
+        if os.environ.get('GOROOT', False):
+            tty.warn('GOROOT is set, this is not recommended')
         spack_env.set('GOPATH', ext_spec.package.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/hub/package.py b/var/spack/repos/builtin/packages/hub/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..e82bc7a551d823a6c64c1200e01a467245e7b517
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hub/package.py
@@ -0,0 +1,20 @@
+from spack import *
+
+class Hub(Package):
+    """The github git wrapper"""
+    homepage = "https://github.com/github/hub"
+    url      = "https://github.com/github/hub/archive/v2.2.3.tar.gz"
+
+    version('head' , git='https://github.com/github/hub')
+    version('2.2.3' , '6675992ddd16d186eac7ba4484d57f5b')
+    version('2.2.2' , '7edc8f5b5d3c7c392ee191dd999596fc')
+    version('2.2.1' , '889a31ee9d10ae9cb333480d8dbe881f')
+    version('2.2.0' , 'eddce830a079b8480f104aa7496f46fe')
+    version('1.12.4', '4f2ebb14834c9981b04e40b0d1754717')
+
+    extends("go")
+
+    def install(self, spec, prefix):
+        os.environ['GOPATH'] = os.getcwd()
+        bash = which('bash')
+        bash(os.path.join('script', 'build'), '-o', os.path.join(prefix, 'bin', 'hub'))