diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
new file mode 100644
index 000000000000..25732afa8b12
--- /dev/null
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -0,0 +1,41 @@
+{ fetchcvs, stdenv, autoconf, automake, libtool }:
+
+let date = "2009-07-04"; in
+ stdenv.mkDerivation rec {
+ name = "html-tidy-${date}";
+
+ # According to http://tidy.sourceforge.net/, there are no new
+ # release tarballs, so one has to either get the code from CVS or
+ # use a decade-old tarball.
+
+ src = fetchcvs {
+ inherit date;
+ cvsRoot = ":pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy";
+ module = "tidy";
+ sha256 = "d2e68b4335ebfde65ef66d5684f7693675c98bdd50b7a63c0b04f61db673aa6d";
+ };
+
+ buildInputs = [ autoconf automake libtool ];
+
+ preConfigure = ''
+ cp -rv build/gnuauto/* .
+ AUTOMAKE="automake --foreign" autoreconf -vfi
+ '';
+
+ doCheck = true;
+
+ meta = {
+ description = "HTML Tidy, an HTML validator and `tidier'";
+
+ longDescription = ''
+ HTML Tidy is a command-line tool and C library that can be
+ used to validate and fix HTML data.
+ '';
+
+ license = "MIT";
+
+ homepage = http://tidy.sourceforge.net/;
+
+ maintainers = [ stdenv.lib.maintainers.ludo ];
+ };
+ }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a3dddee5b348..b2c6ca9a3638 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1407,6 +1407,10 @@ let
inherit fetchurl stdenv ncurses libjpeg e2fsprogs zlib openssl;
};
+ htmlTidy = import ../tools/text/html-tidy {
+ inherit fetchcvs stdenv autoconf automake libtool;
+ };
+
tightvnc = import ../tools/admin/tightvnc {
inherit fetchurl stdenv x11 zlib libjpeg perl;
inherit (xlibs) imake gccmakedep libXmu libXaw libXpm libXp xauth;