diff --git a/pkgs/development/tools/guile/guile-lint/default.nix b/pkgs/development/tools/guile/guile-lint/default.nix
new file mode 100644
index 000000000000..f9032dd48847
--- /dev/null
+++ b/pkgs/development/tools/guile/guile-lint/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, guile}:
+
+stdenv.mkDerivation rec {
+  name = "guile-lint-14";
+  src = fetchurl {
+    url = "http://www.geocities.com/user42_kevin/guile-lint/"
+            + name + ".tar.bz2.bin";
+    sha256 = "5bfcf7a623338b2ef81ac097e3e136eaf32856dd0730b7eeaff3161067b5d0be";
+  };
+
+  buildInputs = [ guile ];
+
+  unpackPhase = ''tar xjvf "$src" && sourceRoot="$PWD/${name}"'';
+  patchPhase = ''
+    cat guile-lint.in |						\
+    sed 's|^exec guile|exec $\{GUILE:-${guile}/bin/guile}|g' > ,,tmp &&	\
+    mv ,,tmp guile-lint.in
+  '';
+
+  meta = {
+    description = ''Guile-Lint checks syntax and semantics in a
+                    Guile program or module.'';
+    homepage = http://www.geocities.com/user42_kevin/guile-lint/index.html;
+    license = "GPL";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bdd577092ea6..9d8cf967abe3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1861,6 +1861,10 @@ rec {
     inherit cabal;
   };
 
+  guileLint = import ../development/tools/guile/guile-lint {
+    inherit fetchurl stdenv guile;
+  };
+
   # happy = import ../development/tools/parsing/happy {
   #   inherit fetchurl stdenv perl ghc;
   # };