"Создаем порт для FreeBSD своими руками" - читать интересную книгу автора (Ачилов Рашид)

.if !defined (LANG) && !defined(USE_LANG)
USE_LANG= ru_RU.KOI8-R
.endif
LANG_LIST= ru_RU.KOI8-R uk_UA.KOI8-U
LANG_PKGNAME= ru


LANG_EXT= 07
LANG_CONFIGURE_ARG= RUSS

MASTERDIR= ${.CURDIR}/../../editors/openoffice-1.1
USE_RUSSIAN_GSI= yes
USE_INFRA_PATCHSET= yes
.include "${MASTERDIR}/Makefile"

При запуске make в каталоге editors/openoffice-1.1 получаем OpenOffice
c английским интерфейсом и справкой, при запуске в каталоге
russian/openoffice - с русским интерфейсом. Достигается это таким же
образом, как любой порт включает в себя bsd.port.mk, - командой .include.
Только здесь параметром команды является имя так называемого "мастер-порта",
то есть порта, в котором делается вся обработка. Это очень широко
распространенный прием для крупных проектов - создается один мастер-порт и
несколько портов, в которых только определяются некоторые переменные. Так
работают postgresql, openldap, php и множество других портов. В приведенном
выше примере мной были добавлены переменные "USE_RUSSIAN_GSI=yes" и
"USE_INFRA_PATCHSET=yes", использование которых будет видно в коде из
основного порта. Основной порт чересчур громоздок, чтобы приводить его весь,
я приведу только некоторые фрагменты.

.if defined(USE_RUSSIAN_GSI)
MASTER_SITES+= http://ootrans.i-rs.ru/out/:oorus
.endif
.if defined(USE_INFRA_PATCHSET)
MASTER_SITES+= ftp://ftp.i-rs.ru/pub/openoffice/1.1.4/ru/:oorus
.endif

Эти строки были внесены сразу же после списка MASTER_SITES. Они задают
сервера, откуда будут загружаться необходимые файлы и устанавливают группу,
которая будет впоследствии связана с файлами дистрибутива.

.if !defined(WITHOUT_MOZILLA)
DISTFILES+= ${MOZILLA_PROJECT}:moz \
${MOZILLA_SOURCE}:mozsrc
USE_GNOME+= orbit gtk12
.endif
.if defined(USE_RUSSIAN_GSI)


GSI_VERSION= 2005-01-20