git: c0eff56573fe - main - sysutils/vimpager: Fix build when DOCS option turned off

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Tue, 24 Jun 2025 12:00:47 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c0eff56573fe9c71f79ebdb48d3e1fa23eb9ed7b

commit c0eff56573fe9c71f79ebdb48d3e1fa23eb9ed7b
Author:     Yusuf Yaman <nxjoseph@protonmail.com>
AuthorDate: 2025-06-24 11:57:26 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-06-24 12:00:22 +0000

    sysutils/vimpager: Fix build when DOCS option turned off
    
    Download generated man pages from master site and add DIST_SUBDIR
    variable.
    Remove TEST option (it was a misunderstood).
    Add conditionally patch which remove generation of documentation and the warning
    message about missing pandoc.
    
    PR:             287571
    Reported by:    Anton Saietskii <vsasjason@gmail.com>
    Approved by:    Yusuf Yaman <nxjoseph@protonmail.com> (maintainer)
---
 sysutils/vimpager/Makefile                   | 19 ++++++++-
 sysutils/vimpager/distinfo                   |  8 ++--
 sysutils/vimpager/files/extra-patch-docs-off | 61 ++++++++++++++++++++++++++++
 sysutils/vimpager/pkg-plist                  | 22 +++++-----
 4 files changed, 94 insertions(+), 16 deletions(-)

diff --git a/sysutils/vimpager/Makefile b/sysutils/vimpager/Makefile
index 3cd535016297..4e60790ac91e 100644
--- a/sysutils/vimpager/Makefile
+++ b/sysutils/vimpager/Makefile
@@ -1,6 +1,10 @@
 PORTNAME=	vimpager
 DISTVERSION=	2.06.20250412
+PORTREVISION=	1
 CATEGORIES=	sysutils
+MASTER_SITES=	https://github.com/rkitover/vimpager/releases/download/${DISTVERSION:R}/
+DISTFILES+=	man${EXTRACT_SUFX}
+DIST_SUBDIR=	${PORTNAME}
 
 MAINTAINER=	nxjoseph@protonmail.com
 COMMENT=	Use Vim/NeoVim as a pager (${FLAVOR:U} flavor)
@@ -9,6 +13,8 @@ WWW=		https://github.com/rkitover/vimpager
 LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
+TEST_DEPENDS=	bats:devel/bats-core
+
 FLAVORS=	console gtk2 gtk3 motif tiny x11 neovim
 FLAVOR?=	${FLAVORS:[1]}
 
@@ -39,10 +45,19 @@ CONFLICTS_INSTALL=	${FLAVORS:N${FLAVOR}:S/^/vimpager-/}
 
 NO_ARCH=	yes
 
-OPTIONS_DEFINE=	DOCS TEST
+OPTIONS_DEFINE=	DOCS
 OPTIONS_SUB=	yes
 
 DOCS_BUILD_DEPENDS=	pandoc:textproc/hs-pandoc
-TEST_RUN_DEPENDS=	bats:devel/bats-core
+DOCS_EXTRA_PATCHES_OFF=	${PATCHDIR}/extra-patch-docs-off
+
+post-extract:
+	@(${MKDIR} ${WRKSRC}/man && \
+		${MV} ${WRKDIR}/*.1 \
+		${WRKSRC}/man)
+
+post-install:
+	@${MV} ${STAGEDIR}${PREFIX}/etc/vimpagerrc \
+		${STAGEDIR}${PREFIX}/etc/vimpagerrc.sample
 
 .include <bsd.port.mk>
diff --git a/sysutils/vimpager/distinfo b/sysutils/vimpager/distinfo
index 1b68ff67dcf5..3773d87ea92c 100644
--- a/sysutils/vimpager/distinfo
+++ b/sysutils/vimpager/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1748713928
-SHA256 (rkitover-vimpager-2.06.20250412-842f746_GH0.tar.gz) = 935c6e80e3c66fba31ba6f1d7fb2f3f471599f21848c1b6b5063ccd7dd5374c5
-SIZE (rkitover-vimpager-2.06.20250412-842f746_GH0.tar.gz) = 164299
+TIMESTAMP = 1750325570
+SHA256 (vimpager/man.tar.gz) = 9aad1e1dd3546ce64626627f4684fdef04f0ca9d40a4815d84e6ef8ceacc6cdf
+SIZE (vimpager/man.tar.gz) = 2769
+SHA256 (vimpager/rkitover-vimpager-2.06.20250412-842f746_GH0.tar.gz) = 935c6e80e3c66fba31ba6f1d7fb2f3f471599f21848c1b6b5063ccd7dd5374c5
+SIZE (vimpager/rkitover-vimpager-2.06.20250412-842f746_GH0.tar.gz) = 164299
diff --git a/sysutils/vimpager/files/extra-patch-docs-off b/sysutils/vimpager/files/extra-patch-docs-off
new file mode 100644
index 000000000000..e85794547edb
--- /dev/null
+++ b/sysutils/vimpager/files/extra-patch-docs-off
@@ -0,0 +1,61 @@
+--- Makefile.orig	2025-04-12 08:53:59 UTC
++++ Makefile
+@@ -6,7 +6,6 @@ INSTALLMAN=${INSTALL} -m 444
+ INSTALLBIN=${INSTALL} -m 555
+ INSTALLFILE=${INSTALL} -m 444
+ INSTALLMAN=${INSTALL} -m 444
+-INSTALLDOC=${INSTALL} -m 444
+ INSTALLCONF=${INSTALL} -m 644
+ PANDOC=./scripts/pandoc-sh
+ 
+@@ -140,22 +139,6 @@ install: docs vimpager.configured vimcat.configured
+ 	    echo ${INSTALLMAN} man/vimcat.1 "${DESTDIR}${prefix}/share/man/man1/vimcat.1"; \
+ 	    ${INSTALLMAN} man/vimcat.1 "${DESTDIR}${prefix}/share/man/man1/vimcat.1"; \
+ 	fi
+-	@${MKPATH} "${DESTDIR}${prefix}/share/doc/vimpager"
+-	${INSTALLDOC} markdown_src/vimpager.md "${DESTDIR}${prefix}/share/doc/vimpager/vimpager.md"
+-	${INSTALLDOC} markdown_src/vimcat.md "${DESTDIR}${prefix}/share/doc/vimpager/vimcat.md"
+-	${INSTALLDOC} TODO.yml "${DESTDIR}${prefix}/share/doc/vimpager/TODO.yml"
+-	${INSTALLDOC} DOC_AUTHORS.yml "${DESTDIR}${prefix}/share/doc/vimpager/DOC_AUTHORS.yml"
+-	${INSTALLDOC} ChangeLog_vimpager.yml "${DESTDIR}${prefix}/share/doc/vimpager/ChangeLog_vimpager.yml"
+-	${INSTALLDOC} ChangeLog_vimcat.yml "${DESTDIR}${prefix}/share/doc/vimpager/ChangeLog_vimcat.yml"
+-	${INSTALLDOC} uganda.txt "${DESTDIR}${prefix}/share/doc/vimpager/uganda.txt"
+-	${INSTALLDOC} debian/copyright "${DESTDIR}${prefix}/share/doc/vimpager/copyright"
+-	@if [ -d html ]; then \
+-	    ${MKPATH} "${DESTDIR}${prefix}/share/doc/vimpager/html"; \
+-	    echo ${INSTALLDOC} html/vimpager.html "${DESTDIR}${prefix}/share/doc/vimpager/html/vimpager.html"; \
+-	    ${INSTALLDOC} html/vimpager.html "${DESTDIR}${prefix}/share/doc/vimpager/html/vimpager.html"; \
+-	    echo ${INSTALLDOC} html/vimcat.html "${DESTDIR}${prefix}/share/doc/vimpager/html/vimcat.html"; \
+-	    ${INSTALLDOC} html/vimcat.html "${DESTDIR}${prefix}/share/doc/vimpager/html/vimcat.html"; \
+-	fi
+ 	${MKPATH} "${DESTDIR}${prefix}/share/vimpager"
+ 	@for rt_file in ${RUNTIME}; do \
+ 	    if [ ! -d "`dirname "${DESTDIR}${prefix}/share/vimpager/$$rt_file"`" ]; then \
+@@ -264,13 +247,6 @@ man/%.1: markdown_src/%.md
+ 	    echo 'generating $@'; \
+ 	    ${MKPATH} `dirname '$@'` 2>/dev/null || true; \
+ 	    ${PANDOC} -s -f markdown_github $< -o $@; \
+-	else \
+-	    if [ ! -r docs-warn-stamp ]; then \
+-		echo >&2; \
+-		echo "WARNING: pandoc is not available, man pages and html will not be generated. If you want to install the man pages and html, install pandoc and re-run make." >&2; \
+-		echo >&2; \
+-		touch docs-warn-stamp; \
+-	    fi; \
+ 	fi
+ 
+ .SECONDARY: vimpager.md.work vimcat.md.work
+@@ -285,13 +261,6 @@ html/%.html: %.md.work
+ 	    ${MKPATH} `dirname '$@'` 2>/dev/null || true; \
+ 	    ${PANDOC} -s --toc -f markdown_github $< -o $@; \
+ 	    rm -f $<; \
+-	else \
+-	    if [ ! -r docs-warn-stamp ]; then \
+-		echo >&2; \
+-		echo "WARNING: pandoc is not available, man pages and html will not be generated. If you want to install the man pages and html, install pandoc and re-run make." >&2; \
+-		echo >&2; \
+-		touch docs-warn-stamp; \
+-	    fi; \
+ 	fi
+ 
+ realclean distclean clean:
diff --git a/sysutils/vimpager/pkg-plist b/sysutils/vimpager/pkg-plist
index 0ff111dfc741..6acf7ebd3520 100644
--- a/sysutils/vimpager/pkg-plist
+++ b/sysutils/vimpager/pkg-plist
@@ -1,16 +1,16 @@
 bin/vimcat
 bin/vimpager
-%%ETCDIR%%rc
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog_vimcat.yml
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog_vimpager.yml
-%%PORTDOCS%%%%DOCSDIR%%/DOC_AUTHORS.yml
-%%PORTDOCS%%%%DOCSDIR%%/TODO.yml
-%%PORTDOCS%%%%DOCSDIR%%/copyright
-%%PORTDOCS%%%%DOCSDIR%%/html/vimcat.html
-%%PORTDOCS%%%%DOCSDIR%%/html/vimpager.html
-%%PORTDOCS%%%%DOCSDIR%%/uganda.txt
-%%PORTDOCS%%%%DOCSDIR%%/vimcat.md
-%%PORTDOCS%%%%DOCSDIR%%/vimpager.md
+@sample etc/vimpagerrc.sample
+%%DOCS%%%%DOCSDIR%%/ChangeLog_vimcat.yml
+%%DOCS%%%%DOCSDIR%%/ChangeLog_vimpager.yml
+%%DOCS%%%%DOCSDIR%%/DOC_AUTHORS.yml
+%%DOCS%%%%DOCSDIR%%/TODO.yml
+%%DOCS%%%%DOCSDIR%%/copyright
+%%DOCS%%%%DOCSDIR%%/html/vimcat.html
+%%DOCS%%%%DOCSDIR%%/html/vimpager.html
+%%DOCS%%%%DOCSDIR%%/uganda.txt
+%%DOCS%%%%DOCSDIR%%/vimcat.md
+%%DOCS%%%%DOCSDIR%%/vimpager.md
 share/man/man1/vimcat.1.gz
 share/man/man1/vimpager.1.gz
 %%DATADIR%%/autoload/AnsiEsc.vim