diff --git a/textproc/latex2html/Makefile b/textproc/latex2html/Makefile
index 08860bb6c2ee..2cdeb80e06df 100644
--- a/textproc/latex2html/Makefile
+++ b/textproc/latex2html/Makefile
@@ -1,44 +1,44 @@
# Created by: brett@peloton.physics.montana.edu
# $FreeBSD$
PORTNAME= latex2html
PORTVERSION= 2008
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_TEX_CTAN}
MASTER_SITE_SUBDIR= support/${PORTNAME}
MAINTAINER= hrs@FreeBSD.org
COMMENT= Convert LaTeX documents to HTML
BUILD_DEPENDS= ${LOCALBASE}/bin/anytopnm:${PORTSDIR}/graphics/netpbm
RUN_DEPENDS:= ${BUILD_DEPENDS}
CONFLICTS= ja-latex2html-[0-9]*
USES= perl5
USE_GHOSTSCRIPT=yes
USE_TEX= latex dvipsk texhash
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-perl=${PERL} \
--disable-gif \
--shlibdir=${DATADIR} \
--with-texpath=${PREFIX}/${TEXMFDIR}/tex/latex/html \
--without-mktexlsr
SUB_FILES= pkg-message
PLIST_SUB= TEXMFDIR=${TEXMFDIR}
TEXHASHDIRS= ${TEXMFDIR}
PORTDOCS= FAQ INSTALL LICENSE README
OPTIONS_DEFINE= DOCS
.include
post-install:
${INSTALL_MAN} ${FILESDIR}/latex2html.1 ${STAGEDIR}${MANPREFIX}/man/man1
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
.endif
.include
diff --git a/textproc/latex2html/files/patch-latex2html.pin b/textproc/latex2html/files/patch-latex2html.pin
new file mode 100644
index 000000000000..eb759f80bad1
--- /dev/null
+++ b/textproc/latex2html/files/patch-latex2html.pin
@@ -0,0 +1,29 @@
+--- latex2html.pin.orig 2015-04-20 16:01:37 UTC
++++ latex2html.pin
+@@ -532,7 +532,7 @@ $CHARSET = $charset || 'iso-8859-1';
+ #
+ # If possible, use icons of the same type as generated images
+ #
+-if ($IMAGE_TYPE && defined %{"icons_$IMAGE_TYPE"}) {
++if ($IMAGE_TYPE && %{"icons_$IMAGE_TYPE"}) {
+ %icons = %{"icons_$IMAGE_TYPE"};
+ }
+
+@@ -2112,7 +2112,7 @@ sub convert_iso_latin_chars {
+ "\nCould not find translation function for $default_language.\n\n")
+ }
+ );
+- if ($USE_UTF ||(!$NO_UTF &&(defined %unicode_table)&&length(%unicode_table)>2)) {
++ if ($USE_UTF ||(!$NO_UTF &&(%unicode_table)&&length(%unicode_table)>2)) {
+ &convert_to_unicode($_)};
+ }
+ $_ = join('', @case_processed, $_); undef(@case_processed);
+@@ -9117,7 +9117,7 @@ sub real_replace_strange_accents {
+ my ($charset) = "${CHARSET}_character_map_inv";
+ $charset =~ s/-/_/g;
+ # convert upper 8-bit characters
+- if (defined %$charset &&($CHARSET =~ /8859[_\-]1$/)) {
++ if ((%$charset) &&($CHARSET =~ /8859[_\-]1$/)) {
+ s/([\200-\377])/
+ $tmp = $$charset{''.ord($1).';'};
+ &mark_string($tmp) if ($tmp =~ m!\{!);