Para declarar um port com vários flavors, adicione FLAVORS
no seu Makefile
. O primeiro flavor em FLAVORS
é o flavor padrão.
Isso pode ajudar a simplificar a lógica do Makefile
para também definir um FLAVOR
como:
FLAVOR?= ${FLAVORS:[1]}
Para distinguir os flavors das opções, que são sempre letras maiúsculas, os nomes dos flavors podem conter apenas letras minúsculas, números e underline _
.
Se um port tiver um port slave “lite”, o port slave pode ser removido, e o port pode ser convertido em flavors com:
FLAVORS= default lite lite_PKGNAMESUFFIX= -lite [...] .if ${FLAVOR:U} != lite [enable non lite features] .endif
O primeiro flavor é o padrão, e é chamado aqui de default
. Não é uma obrigação e, se possível, use um nome de flavor mais específico, como em Exemplo 7.2, “Outro Uso Básico de Flavors”.
Se um port tiver um port slave -nox11
, o port slave pode ser removido, e o port pode ser convertido em flavors com:
FLAVORS= x11 nox11 FLAVOR?= ${FLAVORS:[1]} nox11_PKGNAMESUFFIX= -nox11 [...] .if ${FLAVOR} == x11 [enable x11 features] .endif
Aqui está um excerto ligeiramente editado do que está presente em devel/libpeas, um port que usa os flavors Python. Com as versões padrões do Python 2 e 3 sendo 2.7 e 3.6, ele irá automaticamente mudar para FLAVORS=py27 py36
USES= gnome python USE_PYTHON= flavors.if ${FLAVOR:Upy27:Mpy2*}
USE_GNOME= pygobject3
CONFIGURE_ARGS+= --enable-python2 --disable-python3 BUILD_WRKSRC= ${WRKSRC}/loaders/python
INSTALL_WRKSRC= ${WRKSRC}/loaders/python
.else # py3* USE_GNOME+= py3gobject3
CONFIGURE_ARGS+= --disable-python2 --enable-python3 \ ac_cv_path_PYTHON3_CONFIG=${LOCALBASE}/bin/python${PYTHON_VER}-config
BUILD_WRKSRC= ${WRKSRC}/loaders/python3
INSTALL_WRKSRC= ${WRKSRC}/loaders/python3
.endif py34_PLIST= ${.CURDIR}/pkg-plist-py3
py35_PLIST= ${.CURDIR}/pkg-plist-py3
py36_PLIST= ${.CURDIR}/pkg-plist-py3
Este port não usa o | |
Para proteger contra o | |
As ligações gobject3 doGnome Python têm dois nomes diferentes, um para Python2, pygobject3 e um para Python3, py3gobject3. | |
O script | |
Sugestão sobre o nome correto do caminho do script de configuração do Python 3. | |
A lista de empacotamento é diferente quando compilada com Python 3. Como existem três possíveis versões do Python3 , defina |
Para tornar o Makefile
mais fácil de ser escrito, existem alguns flavors helpers.
Esta lista de helpers definirá sua variável:
flavor
_PKGNAMEPREFIX
flavor
_PKGNAMESUFFIX
flavor
_PLIST
flavor
_DESCR
Esta lista de helpers será anexada à sua variável:
flavor
_CONFLICTS
flavor
_CONFLICTS_BUILD
flavor
_CONFLICTS_INSTALL
flavor
_PKG_DEPENDS
flavor
_EXTRACT_DEPENDS
flavor
_PATCH_DEPENDS
flavor
_FETCH_DEPENDS
flavor
_BUILD_DEPENDS
flavor
_LIB_DEPENDS
flavor
_RUN_DEPENDS
flavor
_TEST_DEPENDS
PKGNAME
.Como todos os pacotes devem ter um nome de pacote diferente, os flavors devem mudar os seus, usando
e o flavor
_PKGNAMEPREFIX
torna isso fácil:flavor
_PKGNAMESUFFIX
FLAVORS= normal lite lite_PKGNAMESUFFIX= -lite
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.