6.10. Usando o GNOME

6.10.1. Introdução

Este capítulo explica a estrutura do framework GNOME utilizado pelos ports. O framework pode ser dividido livremente nos componentes base, componentes desktop GNOME e algumas macros especiais que simplificam o trabalho dos mantenedores dos ports.

6.10.2. Usando USE_GNOME

Adicionar esta variável ao port permite o uso das macros e componentes definidos em bsd.gnome.mk. O código em bsd.gnome.mk adiciona as dependências de tempo de compilação, tempo de execução ou biblioteca necessárias ou o tratamento de arquivos especiais. Aplicativos GNOME sob o FreeBSD usam o framework USE_GNOME. Inclua todos os componentes necessários como uma lista separada por espaço. Os componentes USE_GNOME são divididos nessas listas virtuais: componentes básicos, componentes do GNOME 3 e componentes legados. Se o port precisa apenas de bibliotecas GTK3, este é o caminho mais curto para defini-lo:

USE_GNOME=	gtk30

Componentes USE_GNOME adicionam automaticamente as dependências de que precisam. Por favor, veja Seção 6.11, “Componentes GNOME”para uma lista exaustiva de todos componentes USE_GNOME e quais outros componentes eles implicam e suas dependências.

Aqui está um exemplo de Makefile para um port do GNOME que usa muitas das técnicas descritas neste documento. Por favor, use-o como um guia para criar novos ports.

# $FreeBSD$

PORTNAME=	 regexxer
DISTVERSION=	 0.10
CATEGORIES=	 devel textproc gnome
MASTER_SITES=	 GNOME

MAINTAINER=	 kwm@FreeBSD.org
COMMENT=	 Interactive tool for performing search and replace operations

USES=		 gettext gmake pathfix pkgconfig tar:xz
GNU_CONFIGURE=	yes
USE_GNOME=	 gnomeprefix intlhack gtksourceviewmm3
CPPFLAGS+=	 -I${LOCALBASE}/include
LDFLAGS+=	 -L${LOCALBASE}/lib
INSTALLS_ICONS= yes

GLIB_SCHEMAS=	 org.regexxer.gschema.xml

.include <bsd.port.mk>

Nota:

A macro USE_GNOME se utilizada sem nenhum argumento não irá adicionar nenhuma dependência ao port. O USE_GNOME não pode ser definido depois do bsd.port.pre.mk.

6.10.3. Variáveis

Esta seção explica quais macros estão disponíveis e como elas são usadas. Como elas são usadas no exemplo acima. A Seção 6.11, “Componentes GNOME” tem uma explicação mais detalhada. A variável USE_GNOME precisa ser definido para que essas macros sejam úteis.

INSTALLS_ICONS

Ports GTK+ que instalam ícones de estilo Freedesktop em ${LOCALBASE}/share/icons deve usar essa macro para garantir que os ícones sejam armazenados em cache e exibidos corretamente. O arquivo de cache é nomeado icon-theme.cache. Não inclua esse arquivo em pkg-plist. Essa macro manipula isso automaticamente. Esta macro não é necessária para Qt, que usam um método interno.

GLIB_SCHEMAS

Lista de todos os arquivos de esquema de glib que o port instala. A macro adicionará os arquivos ao plist do port e manipulará o registro destes arquivos na instalação e desinstalação.

Os arquivos de esquema do glib são escritos em XML e terminam com a extensão gschema.xml. Eles estão instalados no diretório share/glib-2.0/schemas/. Esses arquivos de esquema contêm todos os valores de configuração do aplicativo com as configurações padrão. O banco de dados real usado pelos aplicativos é construído por glib-compile-schema, que é executado pela macro GLIB_SCHEMAS.

GLIB_SCHEMAS=foo.gschema.xml

Nota:

Não adicione esquemas simplificados ao pkg-plist. Se eles estão listados em pkg-plist, eles não serão registrados e os aplicativos podem não funcionar corretamente.

GCONF_SCHEMAS

Liste todos os arquivos do esquema gconf. A macro adicionará os arquivos de esquema ao plist do port e manipulará seu registro na instalação e desinstalação.

O GConf é o banco de dados baseado em XML que praticamente todos os aplicativos GNOME usam para armazenar suas configurações. Esses arquivos são instalados no banco de dados no diretório etc/gconf/schemas. Esse banco de dados é definido pelos arquivos de esquema instalados que são usados para gerar os arquivos chave %gconf.xml. Para cada arquivo de esquema instalado pelo port, deve existir uma entrada no Makefile:

GCONF_SCHEMAS=my_app.schemas my_app2.schemas my_app3.schemas

Nota:

Os esquemas do Gconf estão listados na macro GCONF_SCHEMAS em vez do pkg-plist. Se eles estiverem listados em pkg-plist, eles não serão registrados e os aplicativos podem não funcionar corretamente.

INSTALLS_OMF

Os arquivos do Open Source Metadata Framework (OMF) são comumente usados ​​pelos aplicativos GNOME 2. Esses arquivos contêm as informações do arquivo de ajuda do aplicativo e requerem processamento especial pelo ScrollKeeper/rarian. Para registrar adequadamente arquivos OMF ao instalar aplicativos GNOME a partir de pacotes, certifique-se de que os arquivos omf estão listados em pkg-plist e que o Makefile do port tem o INSTALLS_OMF definido:

INSTALLS_OMF=yes

Quando definido, bsd.gnome.mk digitaliza automaticamente o pkg-plist e adiciona diretivas @exec e @unexec para cada .omfpara rastrear no banco de dados de registro do OMF.

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>.