diff --git a/srcpkgs/texinfo/INSTALL b/srcpkgs/texinfo/INSTALL
new file mode 100644
index 0000000000..ec4da60166
--- /dev/null
+++ b/srcpkgs/texinfo/INSTALL
@@ -0,0 +1,9 @@
+case ${ACTION} in
+post)
+	# Register all info files in case they weren't registered.
+	rm -f usr/share/info/dir
+	for f in $(find usr/share/info -type f ! -name dir); do
+		install-info $f usr/share/info/dir 2>/dev/null
+	done
+	;;
+esac
diff --git a/srcpkgs/texinfo/REMOVE b/srcpkgs/texinfo/REMOVE
new file mode 100644
index 0000000000..e91118faf4
--- /dev/null
+++ b/srcpkgs/texinfo/REMOVE
@@ -0,0 +1,5 @@
+case ${ACTION} in
+pre)
+	[ "$UPDATE" = "no" ] && rm -f usr/share/info/dir
+	;;
+esac
diff --git a/srcpkgs/texinfo/patches/texinfo-4.13a-data_types.patch b/srcpkgs/texinfo/patches/texinfo-4.13a-data_types.patch
new file mode 100644
index 0000000000..bd25fbcb31
--- /dev/null
+++ b/srcpkgs/texinfo/patches/texinfo-4.13a-data_types.patch
@@ -0,0 +1,31 @@
+--- info/window.c_old	2009-08-04 13:46:15.000000000 +0200
++++ info/window.c	2009-08-04 13:47:29.000000000 +0200
+@@ -1581,7 +1581,7 @@ process_node_text (WINDOW *win, char *st
+       const char *carried_over_ptr;
+       size_t carried_over_len, carried_over_count;
+       const char *cur_ptr = mbi_cur_ptr (iter);
+-      int cur_len = mb_len (mbi_cur (iter));
++      size_t cur_len = mb_len (mbi_cur (iter));
+       int replen;
+       int delim = 0;
+       int rc;
+@@ -1754,7 +1754,7 @@ clean_manpage (char *manpage)
+        mbi_advance (iter))
+     {
+       const char *cur_ptr = mbi_cur_ptr (iter);
+-      int cur_len = mb_len (mbi_cur (iter));
++      size_t cur_len = mb_len (mbi_cur (iter));
+
+       if (cur_len == 1)
+	{
+@@ -1852,8 +1852,8 @@ window_scan_line (WINDOW *win, int line,
+        mbi_advance (iter))
+     {
+       const char *cur_ptr = mbi_cur_ptr (iter);
+-      int cur_len = mb_len (mbi_cur (iter));
+-      int replen;
++      size_t cur_len = mb_len (mbi_cur (iter));
++      size_t replen;
+
+       if (cur_ptr >= endp)
+	break;
diff --git a/srcpkgs/texinfo/template b/srcpkgs/texinfo/template
index 663a90c4ad..8d6aeec899 100644
--- a/srcpkgs/texinfo/template
+++ b/srcpkgs/texinfo/template
@@ -1,12 +1,14 @@
 # Template file for 'texinfo'
 pkgname=texinfo
 version=4.13a
-revision=7
+revision=8
 wrksrc="$pkgname-4.13"
+homepage="http://www.gnu.org/software/texinfo/"
 distfiles="http://ftp.gnu.org/gnu/$pkgname/$pkgname-$version.tar.gz"
 build_style=gnu-configure
 short_desc="The GNU Documentation System"
 maintainer="Juan RP <xtraeme@gmail.com>"
+license="GPL-3"
 checksum=1303e91a1c752b69a32666a407e9fbdd6e936def4b09bc7de30f416301530d68
 long_desc="
  Texinfo is the official documentation format of the GNU project. It was
@@ -23,6 +25,7 @@ if [ -n "$BOOTSTRAP_PKG_REBUILD" ]; then
 fi
 
 post_install() {
+	rm -f ${DESTDIR}/usr/share/info/dir
 	# Compress manually info files.
 	gzip -9 ${DESTDIR}/usr/share/info/*
 }