git: d36e5873661f - main - russian/freebsd-man: New port

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sat, 10 Oct 2026 14:18:44 UTC
The branch main has been updated by arrowd:

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

commit d36e5873661ff2016e81173925ced3f9e0e5abf6
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-10-10 11:52:29 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-10-10 14:18:32 +0000

    russian/freebsd-man: New port
    
    Reviewed by:    novel, vladlen
    Pull Request:   https://github.com/freebsd/freebsd-ports/pull/638
    Co-authored-by: Vladlen Popolitov <vladlen@FreeBSD.org>
---
 russian/Makefile                         |  1 +
 russian/freebsd-man/Makefile             | 56 ++++++++++++++++++++++++++++++++
 russian/freebsd-man/distinfo             | 11 +++++++
 russian/freebsd-man/files/pkg-message.in | 15 +++++++++
 russian/freebsd-man/pkg-descr            | 11 +++++++
 5 files changed, 94 insertions(+)

diff --git a/russian/Makefile b/russian/Makefile
index 7de6de0fab6a..96cfbb0d85aa 100644
--- a/russian/Makefile
+++ b/russian/Makefile
@@ -4,6 +4,7 @@
     SUBDIR += aspell
     SUBDIR += d1489
     SUBDIR += emkatic
+    SUBDIR += freebsd-man
     SUBDIR += gd
     SUBDIR += hunspell
     SUBDIR += hyphen
diff --git a/russian/freebsd-man/Makefile b/russian/freebsd-man/Makefile
new file mode 100644
index 000000000000..5666e16d6256
--- /dev/null
+++ b/russian/freebsd-man/Makefile
@@ -0,0 +1,56 @@
+PORTNAME=	freebsd-man
+PORTVERSION=	20261008
+CATEGORIES=	russian docs
+
+MAINTAINER=	vladlen@FreeBSD.org
+COMMENT=	Russian translations of FreeBSD manual pages
+WWW=		https://github.com/freebsd-doc-ru/freebsd-man-ru
+
+LICENSE=	BSD2CLAUSE
+
+FLAVORS=	current 15_0 15_1 15_2 stable15
+FLAVOR?=	${FLAVORS:[1]}
+
+.for f in ${FLAVORS}
+${f}_PKGNAMESUFFIX=	-${f}
+.endfor
+
+USE_GITHUB=	nodefault
+GH_TUPLE=	freebsd-doc-ru:freebsd-man-ru:${${FLAVOR}_GH_TAGNAME}:${FLAVOR}/
+
+WRKSRC=		${WRKDIR}/${PORTNAME}-ru-${${FLAVOR}_GH_TAGNAME:S/\//-/}
+
+NO_BUILD=	yes
+NO_ARCH=	yes
+SUB_FILES=	pkg-message
+SUB_LIST=	MANPREFIX=${MANPREFIX}
+
+MANPREFIX=	${PREFIX}/share/man/${MANLANG}
+MANLANG=	ru.UTF-8
+MANCATS=	man1 man8
+
+current_GH_TAGNAME=	ru_main-3
+15_0_GH_TAGNAME=	ru_releng/15.0-3
+15_1_GH_TAGNAME=	ru_releng/15.1-3
+15_2_GH_TAGNAME=	ru_releng/15.2-3
+stable15_GH_TAGNAME=	ru_stable/15-3
+
+.ifmake makesum
+.for f in ${FLAVORS}
+USE_GITHUB=	nodefault
+GH_TUPLE+=	freebsd-doc-ru:freebsd-man-ru:${${f}_GH_TAGNAME}:${f}/
+.endfor
+.endif
+
+do-install:
+.for cat in ${MANCATS}
+	${MKDIR} ${STAGEDIR}${MANPREFIX}/${cat}
+	cd ${WRKSRC}/man/${cat} && \
+	    ${INSTALL_MAN} * ${STAGEDIR}${MANPREFIX}/${cat}
+.endfor
+
+post-install:
+	@${FIND} -P ${STAGEDIR}${MANPREFIX} -type f ! -name '*.gz' 2>/dev/null | \
+		${SED} -ne 's,^${STAGEDIR},,' -ne 's,$$,&.gz,p' >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/russian/freebsd-man/distinfo b/russian/freebsd-man/distinfo
new file mode 100644
index 000000000000..c8ba494ff96c
--- /dev/null
+++ b/russian/freebsd-man/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1791623437
+SHA256 (freebsd-doc-ru-freebsd-man-ru-ru_main-3_GH0.tar.gz) = d21a32cc03050a8bb135048d6f8121048a688b00485fb94c1233ec21d9ab8515
+SIZE (freebsd-doc-ru-freebsd-man-ru-ru_main-3_GH0.tar.gz) = 1010599
+SHA256 (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.0-3_GH0.tar.gz) = ff64210c7a33f8fee5356f860ecb92a957039c4f154982e51b2f61dfebf153a9
+SIZE (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.0-3_GH0.tar.gz) = 918760
+SHA256 (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.1-3_GH0.tar.gz) = 77c3a4f509f17b59f8c772b6d24fbee920d5df6245bb8f27251e129962afbe64
+SIZE (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.1-3_GH0.tar.gz) = 903138
+SHA256 (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.2-3_GH0.tar.gz) = 1ce0ab67c273380d4ca42b8a72454db41a150a63c7fe7854b0b09b8ec58a05c1
+SIZE (freebsd-doc-ru-freebsd-man-ru-ru_releng-15.2-3_GH0.tar.gz) = 926509
+SHA256 (freebsd-doc-ru-freebsd-man-ru-ru_stable-15-3_GH0.tar.gz) = dad49b01883cebf19574ccba58b66a1559665bd7ba7d3a5855009dd57d0e15eb
+SIZE (freebsd-doc-ru-freebsd-man-ru-ru_stable-15-3_GH0.tar.gz) = 926441
diff --git a/russian/freebsd-man/files/pkg-message.in b/russian/freebsd-man/files/pkg-message.in
new file mode 100644
index 000000000000..683ef9555293
--- /dev/null
+++ b/russian/freebsd-man/files/pkg-message.in
@@ -0,0 +1,15 @@
+Russian manual pages are installed under %%MANPREFIX%%
+
+English pages will still take priority because of how man(1) works.
+
+To make Russian pages take priority, add MANPATH="%%MANPREFIX%%:" to your
+env. You will also need LANG=ru_RU.UTF-8 obviously.
+
+Cтраницы Справочника на русском языке установлены в %%MANPREFIX%%
+
+Из-за особенностей алгоритма поиска в man(1), страницы на английском языке будут
+предпочитаться страницам на русском.
+
+Чтобы русские страницы находились первыми, добавьте MANPATH="%%MANPREFIX%%:"
+в переменные среды. Разумеется, переменная LANG=ru_RU.UTF-8 также должна быть
+установлена.
diff --git a/russian/freebsd-man/pkg-descr b/russian/freebsd-man/pkg-descr
new file mode 100644
index 000000000000..282abe6cafe4
--- /dev/null
+++ b/russian/freebsd-man/pkg-descr
@@ -0,0 +1,11 @@
+Russian translations of FreeBSD manual pages.
+
+This package installs translated manual pages into share/man/ru.UTF-8
+The translations are tracked per FreeBSD version via separate
+flavors.  Choose the flavor matching your FreeBSD release:
+
+  - current  for FreeBSD main branch (CURRENT)
+  - 15_0     for FreeBSD 15.0
+  - 15_1     for FreeBSD 15.1
+  ...
+  - stable15 for FreeBSD stable/15 branch (STABLE)