Próximo: , Anterior: , Acima: Gerenciamento de pacote   [Conteúdo][Índice]


5.4 Pacotes com múltiplas saídas

Frequentemente, os pacotes definidos no Guix têm uma única saída — ou seja, o pacote fonte leva a exatamente um diretório no armazém. Ao executar guix install glibc, instala-se a saída padrão do pacote GNU libc; A saída padrão é chamada out, mas seu nome pode ser omitido conforme mostrado neste comando. Neste caso específico, a saída padrão de glibc contém todos os arquivos de cabeçalho C, bibliotecas compartilhadas, bibliotecas estáticas, documentação de informações e outros arquivos de suporte.

Às vezes é mais apropriado separar os vários tipos de arquivos produzidos a partir de um único pacote fonte em saídas separadas. Por exemplo, a biblioteca GLib C (usada pelo GTK+ e pacotes relacionados) instala mais de 20 MiB de documentação de referência como páginas HTML. Para economizar espaço para usuários que não precisam, a documentação vai para uma saída separada, chamada doc. Para instalar a saída principal do GLib, que contém tudo menos a documentação, seria executado:

guix install glib

O comando para instalar sua documentação é:

guix install glib:doc

Embora a sintaxe de dois pontos funcione para especificação de linha de comando de saídas de pacotes, ela não funcionará ao usar uma variável de pacote no código do Scheme. Por exemplo, para adicionar a documentação do glib aos pacotes instalados globalmente de um operating-system (veja operating-system Reference), uma lista de dois itens, sendo o primeiro a variável de pacote e o segundo o nome da saída a ser selecionada (uma string), devem ser usados:

(use-modules (gnu packages glib))
;; glib-with-documentation é o símbolo de Guile para o pacote glib
(operating-system
 ...
 (packages
  (append
   (list (list glib-with-documentation "doc"))
         %base-packages)))

Alguns pacotes instalam programas com diferentes "pegadas de dependência”. Por exemplo, o pacote WordNet instala ferramentas de linha de comando e interfaces gráficas de usuário (GUIs). Os primeiros dependem exclusivamente da biblioteca C, enquanto os últimos dependem apenas do Tcl/Tk e das bibliotecas X subjacentes. Nesse caso, deixamos as ferramentas de linha de comando na saída padrão, enquanto as GUIs ficam em uma saída separada. Isso permite que usuários que não precisam de GUIs economizem espaço. O comando guix size pode ajudar a descobrir tais situações (veja Invocando guix size). guix graph também pode ser útil (veja Invocando guix graph).

Existem vários desses pacotes de múltiplas saídas na distribuição GNU. Outros nomes de saída convencionais incluem lib para bibliotecas e possivelmente arquivos de cabeçalho, bin para programas independentes e debug para informações de depuração (veja Instalando arquivos de depuração). A saída de um pacote está listada na terceira coluna da saída de guix package --list-available (veja Invocando guix package).


Próximo: Invocando guix locate, Anterior: Substitutos, Acima: Gerenciamento de pacote   [Conteúdo][Índice]