diff --git a/textproc/txt2html/Portfile b/textproc/txt2html/Portfile
index 05e6811fca937..d64ab95b547a9 100644
--- a/textproc/txt2html/Portfile
+++ b/textproc/txt2html/Portfile
@@ -1,42 +1,60 @@
-PortSystem 1.0
-
-name txt2html
-version 1.35
-categories textproc
-license BSD
-maintainers nomaintainer
-description Convert ASCII text to HTML
-homepage http://www.aigeek.com/txt2html/
-platforms any
-supported_archs noarch
-
-long_description txt2html is a Perl program that converts plain text to \
- HTML. It supports headings, lists, simple character \
- markup, hyperlinking, and is highly customizable. It \
- recognizes some of the structure of the source document \
- (whitespace, typographic layout, etc.), and attempts to \
- mark that structure explicitly using HTML.
-
-master_sites sourceforge
-
-extract.suffix .tgz
-checksums md5 ba007af9d0681b3f493c84869b147071
-
-use_configure no
-post-configure { reinplace "s|/usr/share/misc|${prefix}/share/${name}|g" \
- ${worksrcpath}/${name}.pl }
-
-build {}
-
-destroot { system "install -m 755 -d ${destroot}${prefix}/bin"
- system "install -m 755 ${worksrcpath}/${name}.pl \
- ${destroot}${prefix}/bin/${name}"
- system "install -m 755 -d \
- ${destroot}${prefix}/share/${name}"
- system "install -m 644 ${worksrcpath}/${name}.dict \
- ${destroot}${prefix}/share/${name}"
- system "install -m 755 -d \
- ${destroot}${prefix}/share/doc/${name}"
- system "install -m 644 ${worksrcpath}/* \
- ${destroot}${prefix}/share/doc/${name}"
- system "rm ${destroot}${prefix}/share/doc/${name}/${name}.*" }
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem 1.0
+PortGroup perl5 1.0
+PortGroup github 1.0
+
+github.setup resurrecting-open-source-projects txt2html 3.0 v
+revision 0
+categories textproc
+license BSD
+maintainers nomaintainer
+homepage ${github.homepage}
+platforms any
+supported_archs noarch
+
+description Convert ASCII text to HTML
+long_description txt2html is a Perl program that converts plain text to \
+ HTML. It supports headings, lists, simple character \
+ markup, hyperlinking, and is highly customizable. It \
+ recognizes some of the structure of the source document \
+ (whitespace, typographic layout, etc.), and attempts to \
+ mark that structure explicitly using HTML.
+
+checksums md5 037f5fdfae92181d2bb7abfb443f6949 \
+ rmd160 fd91190626dbf6727fac8b027b8e8fa349168450 \
+ sha256 b66492715305315e6b8cee733bd0b6589194be45a62811788f910704b3cdee88 \
+ size 140568
+
+perl5.use_module_build
+
+depends_lib-append \
+ port:p${perl5.major}-getopt-long \
+ port:p${perl5.major}-getopt-argvfile \
+ port:p${perl5.major}-yaml-syck
+
+# Also requires: Pod::Usage, Test::More but those should be in any
+# non-obsolete Perl's core modules.
+
+post-patch {
+ reinplace "s|/usr/bin/env perl|${perl5.bin}|" ${worksrcpath}/scripts/${name}
+}
+
+use_configure no
+configure { system "cd ${worksrcpath} && \
+ '${perl5.bin}' './Build.PL' '--install_base' '${prefix}'" }
+
+build { system "cd ${worksrcpath} && \
+ '${perl5.bin}' '${worksrcpath}/Build'" }
+
+destroot { system "cd ${worksrcpath} && \
+ '${perl5.bin}' '${worksrcpath}/Build' 'install' \
+ 'destdir=${destroot}'" }
+
+post-destroot { system "mkdir '${destroot}/${prefix}/lib/perl5/${perl5.major}' && \
+ mv '${destroot}/${prefix}/lib/perl5/HTML' \
+ '${destroot}/${prefix}/lib/perl5/${perl5.major}'"
+ system "mv '${destroot}/${prefix}/man/man1/txt2html.1pm' \
+ '${destroot}/${prefix}/share/man/man1/'"
+ system "mv '${destroot}/${prefix}/man/man3/HTML::TextToHTML.3pm' \
+ '${destroot}/${prefix}/share/man/man3/'" }