GLib-2.76.4

Introdução a GLib

O pacote GLib contém bibliotecas de baixo nível úteis para fornecer manipulação de estrutura de dados para C, amarradores de portabilidade e interfaces para funcionalidades em tempo de execução, como um loop de eventos, camadas, carregamento dinâmico e um sistema de objetos.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0.

Informação do Pacote

Transferências Adicionais

Dependências de GLib

Recomendada

Opcionais

dbus-1.14.8 (para alguns testes), Fuse-3.16.1 e bindfs (ambos necessários para um teste), GDB-13.2 (para vinculações), docbook-xml-4.5, docbook-xsl-nons-1.79.2, GTK-Doc-1.33.2 (para construir a documentação da API), glib-networking-2.76.1 (para alguns testes, porém isso é uma dependência circular) e sysprof-3.48.0

Dependências Adicionais de Tempo de Execução

Citado diretamente do arquivo INSTALL: Algumas das funcionalidades relacionadas ao tipo mime no GIO exigem os utilitários update-mime-database e update-desktop-database, os quais são parte de shared-mime-info-2.2 e desktop-file-utils-0.26, respectivamente. Esses dois utilitários também são necessários para alguns testes.

Instalação de GLib

Se desejado, aplique o remendo opcional. Em muitos casos, os aplicativos que usam essa biblioteca, direta ou indiretamente, por meio de outras bibliotecas, tais como GTK+-3.24.38, emitem numerosos avisos quando executados a partir da linha de comando. Esse remendo habilita o uso de uma variável de ambiente, GLIB_LOG_LEVEL, que suprime mensagens indesejadas. O valor da variável é um dígito que corresponde a:

1 Alerta
2 Crítico
3 Erro
4 Aviso
5 Informe

Por exemplo, export GLIB_LOG_LEVEL=4 pulará a saída gerada de mensagens Warning e Notice (e mensagens de Informação/Depuração se estiverem ativadas). Se GLIB_LOG_LEVEL não estiver definida, a saída gerada normal de mensagem não será afetada.

patch -Np1 -i ../glib-skip_warnings-1.patch
[Atenção]

Atenção

Se uma versão anterior da glib estiver instalada, [então] mova os cabeçalhos para fora do caminho, de modo que os pacotes posteriores não encontrem conflitos:

if [ -e /usr/include/glib-2.0 ]; then
    rm -rf /usr/include/glib-2.0.old &&
    mv -vf /usr/include/glib-2.0{,.old}
fi

Instale GLib executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dman=true          &&
ninja
[Nota]

Nota

Se libxslt-1.1.38 estiver instalado, [então] o comando acima possivelmente indique vários (cerca de 33) erros que começam com "Error: no ID for constraint linkend:" ao gerar as páginas de manual. Esses são inofensivos.

A suíte de teste da GLib exige desktop-file-utils para alguns testes. No entanto, desktop-file-utils exige a GLib para a finalidade de compilar; portanto, você precisa primeiro instalar a GLib e então executar a suíte de teste.

Agora, como o(a) usuário(a) root:

ninja install &&

mkdir -p /usr/share/doc/glib-2.76.4 &&
cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.76.4

Você deveria agora instalar desktop-file-utils-0.26 e shared-mime-info-2.2 e proceder à execução da suíte de teste.

[Atenção]

Atenção

Não execute a suíte de teste como root ou alguns testes falharão inesperadamente e deixarão alguns diretórios não compatíveis com FHS na hierarquia /usr.

Para testar os resultados, depois de ter instalado o pacote, emita: LC_ALL=C ninja test como um(a) usuário(a) não root. Um teste chamado glib:gio / file é conhecido por falhar.

Explicações do Comando

--buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados.

-Dman=true: Essa chave faz com que a construção crie e instale as páginas de manual do pacote.

-Dgtk_doc=true: Essa chave faz com que a construção crie e instale a documentação da API.

Conteúdo

Aplicativos Instalados: gapplication, gdbus, gdbus-codegen, gio, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester e gtester-report
Bibliotecas Instaladas: libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so e libgthread-2.0.so
Diretórios Instalados: /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0, /usr/share/doc/{glib-2.0,glib-2.76.4} e /usr/share/gtk-doc/html/{gio,glib,gobject} (opcional)

Descrições Curtas

gapplication

pode ser usado para iniciar aplicativos e para enviar mensagens para instâncias já em execução de outros aplicativos

gdbus

é uma ferramenta simples usada para trabalhar com objetos D-Bus

gdbus-codegen

é usado para gerar código e (ou) documentação para uma ou mais interfaces D-Bus

gio

é um utilitário que torna muitos recursos do GIO disponíveis a partir da linha de comando

gio-querymodules

é usado para criar um arquivo giomodule.cache nos diretórios listados. Esse arquivo lista os pontos implementados de extensão para cada módulo que tenha sido encontrado

glib-compile-resources

é usado para ler a descrição do recurso a partir de um arquivo e os arquivos aos quais ele referencia para criar um pacote binário de recurso que seja adequado para uso com a API GResource

glib-compile-schemas

é usado para compilar todos os arquivos de esquema XML do GSettings em um diretório para um arquivo binário com o nome gschemas.compiled que pode ser usado pelo GSettings

glib-genmarshal

é um utilitário de geração de código marechal C para encerramentos GLib

glib-gettextize

é uma variante do utilitário de internacionalização gettext

glib-mkenums

é um utilitário de geração de descrição de enumeração em linguagem C

gobject-query

é um pequeno utilitário que desenha uma árvore de tipos

gresource

oferece uma interface simples de linha de comando para GResource

gsettings

oferece uma interface simples de linha de comando para GSettings

gtester

é um utilitário de execução de teste

gtester-report

é um utilitário de formatação de informe de teste

Bibliotecas GLib

contém bibliotecas centrais de baixo nível para o kit de ferramentas GIMP