diff --git a/textproc/man2html/Makefile b/textproc/man2html/Makefile
index 88b3e647b05a..eaf4685c169d 100644
--- a/textproc/man2html/Makefile
+++ b/textproc/man2html/Makefile
@@ -1,32 +1,40 @@
# Created by: Dima Sivachenko
PORTNAME= man2html
-PORTVERSION= 3.0.1
-PORTREVISION= 2
+PORTVERSION= 3.1.20220109
CATEGORIES= textproc
-MASTER_SITES= http://hydra.nac.uci.edu/indiv/ehood/tar/ \
- ftp://ftp.cpan.org/pub/CPAN/modules/by-authors/Earl_Hood/ \
- http://people.freebsd.org/~demon/
-DISTNAME= ${PORTNAME}${PORTVERSION}
+MASTER_SITES= https://invisible-island.net/archives/scripts/:dickey \
+ http://people.freebsd.org/~demon/:demon \
+ http://fuz.su/~fuz/distfiles/man2html/:demon
+DISTNAME= other-scripts-${PORTVERSION:E}
+DISTFILES= ${DISTNAME}.tgz:dickey \
+ man2html3.0.1.tar.gz:demon # for cgi script and man page
-MAINTAINER= demon@FreeBSD.org
+MAINTAINER= fuz@fuz.su
COMMENT= Convert nroff(1) man pages to HTML
LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-USES= perl5
+USES= perl5 tar:tgz shebangfix
USE_PERL5= run
-NO_BUILD= yes
+SHEBANG_FILES= man2html man.cgi
+
NO_ARCH= yes
+NO_BUILD= yes
CGIDIR= ${PREFIX}/www/cgi-bin
PLIST_FILES= bin/man2html man/man1/man2html.1.gz www/cgi-bin/man.cgi
+# New upstream doesn't ship the man page and CGI script
+# Rip it from the 3.0.1 tarball.
+post-extract:
+ @${MV} ${WRKDIR}/man2html3.0.1/doc/man2html.1 ${WRKSRC}/
+ @${MV} ${WRKDIR}/man2html3.0.1/man.cgi ${WRKSRC}/
+
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/man2html ${STAGEDIR}/${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/doc/man2html.1 ${STAGEDIR}/${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/man2html.1 ${STAGEDIR}/${PREFIX}/man/man1
${MKDIR} ${STAGEDIR}${CGIDIR}
${INSTALL_SCRIPT} ${WRKSRC}/man.cgi ${STAGEDIR}${CGIDIR}
.include
diff --git a/textproc/man2html/distinfo b/textproc/man2html/distinfo
index c4659008e3b9..43e8711db076 100644
--- a/textproc/man2html/distinfo
+++ b/textproc/man2html/distinfo
@@ -1,2 +1,5 @@
+TIMESTAMP = 1657507856
+SHA256 (other-scripts-20220109.tgz) = 78f5e7eabfb34f2f18a59f22d20c629eae33848679be477c5317502574a49622
+SIZE (other-scripts-20220109.tgz) = 110040
SHA256 (man2html3.0.1.tar.gz) = a3dd7fdd80785c14c2f5fa54a59bf93ca5f86f026612f68770a0507a3d4e5a29
SIZE (man2html3.0.1.tar.gz) = 45371
diff --git a/textproc/man2html/files/patch-man.cgi b/textproc/man2html/files/patch-man.cgi
index e61412256bb8..0e24c5959637 100644
--- a/textproc/man2html/files/patch-man.cgi
+++ b/textproc/man2html/files/patch-man.cgi
@@ -1,61 +1,61 @@
---- man.cgi.orig Wed Aug 13 01:19:18 1997
-+++ man.cgi Sat Sep 30 00:46:55 2000
-@@ -59,8 +59,8 @@
+--- man.cgi.orig 1997-08-12 17:19:18 UTC
++++ man.cgi
+@@ -59,8 +59,8 @@ $ManPrg = '/usr/bin/man';
## systems. If using Tom Christiansen's Perl man program, than
## define use "".
-#$SectOpt = "";
-$SectOpt = "-s";
+$SectOpt = "";
+#$SectOpt = "-s";
## man2html program (needs to be a full pathname)
-@@ -77,15 +77,15 @@
+@@ -77,15 +77,15 @@ $DoCgiurl = 1;
#@ConvArgs = ("-compress");
#@ConvArgs = ("-compress", "-leftm", "1", "-topm", "8");
-@ConvArgs = ("-compress", "-sun");
+#@ConvArgs = ("-compress", "-sun");
## Keyword search processing arguments for man2html. Normally,
## '-k' is adequate. However, if on a Solaris system, the
## '-solaris' option should be specified with '-k'. See
## man2html documentation on information about the '-solaris' option.
-#@KeyWArgs = ("-k"); # Normal
-@KeyWArgs = ("-k", "-solaris"); # For Solaris
+@KeyWArgs = ("-k"); # Normal
+#@KeyWArgs = ("-k", "-solaris"); # For Solaris
## Possible manual sections. This array is used to determine the
## the choices available in an option menu.
-@@ -124,9 +124,9 @@
+@@ -124,9 +124,9 @@ $ArgSep = '&';
## know about
@ManPath = qw(
+ /usr/share/man
/usr/local/man
- /usr/openwin/man
- /usr/man
-+ /usr/X11R6/man
++ /usr/local/share/man
);
## PATH setting. Modify as see fit. Once useful modification
-@@ -134,7 +134,6 @@
+@@ -134,7 +134,6 @@ $ArgSep = '&';
## be invoked over the systems nroff when man formats a manpage.
@Path = qw(
- /opt/FSFgroff/bin
/bin
/usr/bin
);
-@@ -270,7 +269,7 @@
+@@ -270,7 +269,7 @@ sub doit {
# Convert output from man to html
#--------------------------------
- close(STDERR);
+ open(STDERR, ">&/dev/null");
open(MANPRG, "-|") or exec($ManPrg, @manargs);
$Man2Html::InFH = \*MANPRG; # set input filehandle
require $ManConvPrg or
diff --git a/textproc/man2html/pkg-descr b/textproc/man2html/pkg-descr
index 0236eac52941..db48609f82ca 100644
--- a/textproc/man2html/pkg-descr
+++ b/textproc/man2html/pkg-descr
@@ -1,3 +1,3 @@
Convert UNIX nroff(1) manual pages to HTML format.
-WWW: http://www.nongnu.org/man2html/
+WWW: https://dickey.his.com/scripts/man2html.html